Concordion-퀵 가이드
Concordion은 무엇입니까?
Concordion은 Java 기반 프로젝트에서 자동화 된 승인 테스트를 작성하고 관리하는 강력한 도구입니다. JUnit 프레임 워크와 직접 통합되어 Netbeans, Eclipse, IntelliJ IDEA와 같은 인기있는 모든 JAVA 기반 IDE와 함께 사용할 수 있습니다.
활성 소프트웨어 사양
활성 소프트웨어 사양은 기능의 동작을 지정하는 방법입니다. 또한 개발중인 시스템과 연결하여 소프트웨어 사양을 구현하고 확인하는 방법을 제공합니다.
Concordion의 활성 사양은 두 부분으로 구성됩니다.
XHTML을 사용하여 작성된 원하는 기능을 설명하는 명확하게 작성된 요구 사항 문서. XHTML 기반 사양에는 승인 테스트 예제와 함께 제공되는 기능에 대한 설명이 포함되어 있습니다. 예제의 데이터는 간단한 HTML 태그를 사용하여 표시됩니다.
승인 테스트는 고정 코드라는 Java 언어로 작성됩니다. 표준 JUnit 테스트 케이스의 Concordion 확장을 사용하여 테스트가 구현됩니다. 태그로 표시된 예제의 데이터를 찾아서 개발중인 소프트웨어를 검증하는 것은 Fixture Code의 책임입니다.
Cncordion의 출력
Concordion 활성 사양 테스트가 실행되면 outpu XHTML 파일에 원래 사양과 테스트 결과가 표시됩니다. 성공한 테스트는 "녹색"으로 강조 표시되고 실패한 테스트는 "빨간색"으로 강조 표시됩니다. 시스템을 변경하면 테스트에 실패하여 사양이 업데이트 될 것임을 식별하는 데 도움이되므로 Concordion은 이러한 사양을 활성 사양으로 간주합니다. 따라서 사양은 항상 최신 상태입니다.
주요 특징들
다음은 Concordion의 주요 기능입니다.
Specifications as documentation-가독성이 높은 Concordion 사양을 액티브 시스템 문서로 사용할 수 있습니다. Concordion 기반 사양은 HTML로 작성되므로 이러한 문서를 하이퍼 링크로 연결할 수 있습니다.
Specifications are live-Concordion 사양에는 시스템에 대해 실행되는 동작의 작업 예제가 포함되어 있습니다. 사양은 색상으로 구분되어 있으므로 누구나 예제가 작동하는지 여부를 알 수 있습니다. Concordion 사양을 정기적으로 실행하면 문서가 최신 상태로 유지됩니다.
Separate "what?" from "how?"-Concordion 사양은 시스템의 구현과 필요한 동작 사이의 분리를 유지하는 데 도움이됩니다. 나중에 구현을 변경할 수있는 유연성을 제공합니다.
Simple to learn-Concordion 라이브러리는 학습 곡선을 짧고 간결하게 유지하도록 설계되었습니다. 학습 할 명령이 거의 없으며 JUnit 테스트를 사용하여 예제가 자동화되어 테스트를 쉽게 실행하고 기존 프로젝트와 쉽게 통합 할 수 있습니다.
Powerful Customization-Concordion은 기능을 추가 할 수있는 확장 API를 제공합니다. 예를 들어 Excel 스프레드 시트를 사양으로 사용할 수 있고 스크린 샷을 출력에 추가 할 수 있으며 로깅 정보를 표시 할 수 있습니다.
이 튜토리얼은 Spring Framework로 작업을 시작하기 위해 개발 환경을 준비하는 방법을 안내합니다. 이 튜토리얼에서는 Spring Framework를 설정하기 전에 컴퓨터에서 JDK, Tomcat 및 Eclipse를 설정하는 방법도 알려줍니다.
1 단계-JDK (Java Development Kit) 설정 :
Oracle Java 사이트 : Java SE Downloads 에서 최신 버전의 SDK를 다운로드 할 수 있습니다 . 다운로드 한 파일에서 JDK 설치 지침을 찾을 수 있으며, 주어진 지침에 따라 설치 및 구성을 수행합니다. 마지막으로 java 및 javac (일반적으로 각각 java_install_dir / bin 및 java_install_dir)가 포함 된 디렉토리를 참조하도록 PATH 및 JAVA_HOME 환경 변수를 설정합니다.
Windows를 실행 중이고 C : \ jdk1.7.0_75에 JDK를 설치 한 경우 C : \ autoexec.bat 파일에 다음 행을 입력해야합니다.
set PATH=C:\jdk1.7.0_75\bin;%PATH%
set JAVA_HOME=C:\jdk1.7.0_75
또는 Windows NT / 2000 / XP에서 내 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 속성, 고급, 환경 변수를 차례로 선택할 수도 있습니다. 그런 다음 PATH 값을 업데이트하고 OK 버튼을 누릅니다.
Unix (Solaris, Linux 등)에서 SDK가 /usr/local/jdk1.7.0_75에 설치되어 있고 C 셸을 사용하는 경우 .cshrc 파일에 다음을 넣습니다.
setenv PATH /usr/local/jdk1.7.0_75/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.7.0_75
또는 Borland JBuilder, Eclipse, IntelliJ IDEA 또는 Sun ONE Studio와 같은 IDE (통합 개발 환경)를 사용하는 경우 간단한 프로그램을 컴파일하고 실행하여 IDE가 Java를 설치 한 위치를 알고 있는지 확인하고 그렇지 않으면 주어진 문서에 따라 적절한 설정을 수행합니다. IDE의.
2 단계-Eclipse IDE 설정
이 튜토리얼의 모든 예제는 Eclipse IDE를 사용하여 작성되었습니다. 따라서 컴퓨터에 최신 버전의 Eclipse가 설치되어 있어야합니다.
Eclipse IDE를 설치하려면 다음에서 최신 Eclipse 바이너리를 다운로드하십시오. http://www.eclipse.org/downloads/. 설치를 다운로드 한 후 편리한 위치에 바이너리 배포판의 압축을 풉니 다. 예를 들어 Windows의 C : \ eclipse 또는 Linux / Unix의 / usr / local / eclipse에서 마지막으로 PATH 변수를 적절하게 설정하십시오.
Windows 시스템에서 다음 명령을 실행하여 Eclipse를 시작하거나 eclipse.exe를 두 번 클릭하면됩니다.
%C:\eclipse\eclipse.exe
Eclipse는 Unix (Solaris, Linux 등) 시스템에서 다음 명령을 실행하여 시작할 수 있습니다.
$/usr/local/eclipse/eclipse
성공적으로 시작한 후 모든 것이 정상이면 다음 결과가 표시됩니다.
3 단계 : Junit 아카이브 다운로드
최신 버전의 JUnit jar 파일을 다음에서 다운로드하십시오. http://www.junit.org. 이 튜토리얼을 작성할 때 Junit-4.10.jar를 다운로드 하여 C : \> JUnit 폴더에 복사했습니다.
OS | 아카이브 이름 |
---|---|
윈도우 | junit4.10.jar |
리눅스 | junit4.10.jar |
맥 | junit4.10.jar |
4 단계 : JUnit 환경 설정
설정 JUNIT_HOME시스템에서 JUNIT jar가 저장된 기본 디렉토리 위치를 가리키는 환경 변수. 다음과 같이 다양한 운영 체제의 JUNIT 폴더에 junit4.10.jar를 저장했다고 가정합니다.
OS | 산출 |
---|---|
윈도우 | 환경 변수 JUNIT_HOME을 C : \ JUNIT로 설정합니다. |
리눅스 | 내보내기 JUNIT_HOME = / usr / local / JUNIT |
맥 | export JUNIT_HOME = / Library / JUNIT |
5 단계 : CLASSPATH 변수 설정
설정 CLASSPATHJUNIT jar 위치를 가리키는 환경 변수. 다음과 같이 다양한 운영 체제의 JUNIT 폴더에 junit4.10.jar를 저장했다고 가정합니다.
OS | 산출 |
---|---|
윈도우 | 환경 변수 CLASSPATH를 % CLASSPATH %; % JUNIT_HOME % \ junit4.10.jar;.;로 설정합니다. |
리눅스 | 내보내기 CLASSPATH =$CLASSPATH:$JUNIT_HOME / junit4.10.jar :. |
맥 | 내보내기 CLASSPATH =$CLASSPATH:$JUNIT_HOME / junit4.10.jar :. |
6 단계-Concordion Libraries 설정
이제 모든 것이 정상이면 Concordion 라이브러리 설정을 진행할 수 있습니다. 다음은 시스템에 프레임 워크를 다운로드하고 설치하는 간단한 단계입니다.
최신 버전의 Concordion 프레임 워크 바이너리를 http://dl.bintray.com/concordion/downloads/concordion-1.5.1.zip.
이 튜토리얼을 작성할 때 Windows 컴퓨터에 concordion-1.5.1을 다운로드했으며 다운로드 한 파일의 압축을 풀면 E : \ concordion-1.5.1 내에 다음과 같은 디렉토리 구조가 제공됩니다.
lib -라이브러리 폴더
hamcrest-core-1.3.jar
junit-4.12.jar
ognl-2.6.9.jar
xom-1.2.5.jar
src -소스 코드 폴더
main
test
test-dummies
concordion-1.5.1.jar
모든 Concordion 종속성 라이브러리는 E : \ concordion \ lib 디렉토리에서 찾을 수 있습니다. 이 디렉토리에서 CLASSPATH 변수를 올바르게 설정했는지 확인하십시오. 그렇지 않으면 응용 프로그램을 실행하는 동안 문제가 발생합니다. Eclipse를 사용하는 경우 모든 설정이 Eclipse를 통해 수행되므로 CLASSPATH를 설정할 필요가 없습니다.
이 마지막 단계를 마치면 다음 장에서 보게 될 첫 번째 Concordion 예제를 진행할 준비가 된 것입니다.
Concordion-첫 번째 응용 프로그램
Concordion으로 프로그래밍을 시작하겠습니다. Concordion을 사용하여 첫 번째 예제를 작성하기 전에 Concordion-환경 설정 자습서에 설명 된대로 Concordion 환경을 올바르게 설정했는지 확인해야합니다 . 또한 Eclipse IDE에 대해 약간의 작업 지식이 있다고 가정합니다.
이제 다음 수락 테스트를 인쇄 할 간단한 Concordion 애플리케이션을 작성해 보겠습니다.
Example
When Robert logs in the system, a greeting "Hello Robert!" is displayed.
1 단계-Java 프로젝트 생성
첫 번째 단계는 Eclipse IDE를 사용하여 간단한 Java 프로젝트를 만드는 것입니다. 옵션을 따르십시오File → New → Project 마지막으로 선택 Java Project마법사 목록에서 마법사. 이제 프로젝트 이름을Concordion 다음과 같이 마법사 창을 사용하여-
프로젝트가 성공적으로 생성되면 다음 콘텐츠가 Project Explorer −
2 단계-필요한 라이브러리 추가
프로젝트에 일치와 그 종속성을 추가하겠습니다. 이렇게하려면 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하십시오.concordion 그런 다음 상황에 맞는 메뉴에서 사용할 수있는 옵션을 따릅니다. Build Path → Configure Build Path 다음과 같이 Java 빌드 경로 창을 표시하려면-
이제 사용 Add External JARs 아래에서 사용할 수있는 버튼 Libraries 탭을 클릭하여 Concordion 폴더에서 다음 핵심 JAR을 추가합니다.
- concordion-1.5.1
- hamcrest-core-1.3
- junit-4.12
- ognl-2.6.9
- xom-1.2.5
3 단계-소스 파일 생성
이제 실제 소스 파일을 concordion계획. 먼저 다음과 같은 패키지를 생성해야합니다.com.tutorialspoint. 이렇게하려면 마우스 오른쪽 버튼을 클릭하십시오.src 패키지 탐색기 섹션에서 옵션을 따르십시오. New → Package.
다음으로 System .java com.tutorialspoint 패키지 아래의 파일.
내용은 다음과 같습니다. System.java 파일-
package com.tutorialspoint;
public class System {
public String getGreeting(String userName){
return "Hello " + userName + "!";
}
}
4 단계-사양 파일 생성
이제 실제 사양 파일을 concordion계획. 먼저, 새 소스 폴더를 만들어야합니다.specs. 이 폴더에는 JUnitFixture 또는 테스트 러너와 같은 사양 파일과 사양 인 html 파일이 포함됩니다. 이제 우리는specs.tutorialspoint. 이렇게하려면 마우스 오른쪽 버튼을 클릭하십시오.spec 패키지 탐색기 섹션에서 옵션을 따르십시오. New → Package.
다음으로 System.html 과 SystemFixture.javaspecs.tutorialspoint 패키지 아래의 파일. 그 후, 우리는concordion.css 사양 소스 폴더에서.
다음은 System.html 파일-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type="text/css" />
</head>
<body>
<h1>System Specifications</h1>
<p>We are building specifications for our online order tracking application.</p>
<p>Following is the requirement to show greeting to logged in user:</p>
<div class = "example">
<h3>Example</h3>
<p>When <span concordion:set = "#userName">Robert</span>
logs in the system, a greeting "<span concordion:assertEquals = "getGreeting(#userName)">
Hello Robert!</span>" is displayed.</p>
</div>
</body>
</html>
다음은 SystemFixture.java 파일-
package specs.tutorialspoint;
import com.tutorialspoint.System;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public String getGreeting(String userName){
return system.getGreeting(userName);
}
}
다음은 concordion.css 파일-
* {
font-family: Arial;
}
body {
padding: 32px;
}
pre {
padding: 6px 28px 6px 28px;
background-color: #E8EEF7;
}
pre, pre *, code, code *, kbd {
font-family: Courier New, Courier;
font-size: 10pt;
}
h1, h1 * {
font-size: 24pt;
}
p, td, th, li, .breadcrumbs {
font-size: 10pt;
}
p, li {
line-height: 140%;
}
table {
border-collapse: collapse;
empty-cells: show;
margin: 8px 0px 8px 0px;
}
th, td {
border: 1px solid black;
padding: 3px;
}
td {
background-color: white;
vertical-align: top;
}
th {
background-color: #C3D9FF;
}
li {
margin-top: 6px;
margin-bottom: 6px;
}
.example {
padding: 6px 16px 6px 16px;
border: 1px solid #D7D7D7;
margin: 6px 0px 28px 0px;
background-color: #F7F7F7;
}
.example h3 {
margin-top: 8px;
margin-bottom: 8px;
font-size: 12pt;
}
.special {
font-style: italic;
}
.idea {
font-size: 9pt;
color: #888;
font-style: italic;
}
.tight li {
margin-top: 1px;
margin-bottom: 1px;
}
.commentary {
float: right;
width: 200px;
background-color: #ffffd0;
padding:8px;
border: 3px solid #eeeeb0;
margin: 10px 0px 10px 10px;
}
.commentary, .commentary * {
font-size: 8pt;
}
스펙 HTML 파일과 테스트 픽스처에 대해 주목해야 할 두 가지 중요한 사항이 있습니다.
System.html은 concordion 네임 스페이스를 사용하는 사양 html 파일입니다.
<html xmlns:concordion="http://www.concordion.org/2007/concordion">
System.html은 concordion : set 명령을 사용하여 임시 변수 userName의 값을 Robert로 설정합니다. 여기서 userName은 System fixture의 getGreeting 메소드에 전달되는 매개 변수입니다.
When <span concordion:set="#userName">Robert</span> logs in the system
System.html은 concordion : assertEquals 명령을 사용하여 getGreeting (userName) 함수의 출력이 Hello Robert!인지 확인합니다.
a greeting "<span concordion:assertEquals="getGreeting(#userName)">
Hello Robert!</span>" is displayed.
SystemFixture는 ConcordionRunner.class로 주석이 달린 JUnit 테스트 픽스처입니다.
@RunWith(ConcordionRunner.class)
public class SystemFixture {
SystemFixture에는 사용자에게 인사말을 반환하는 getGreeting 메서드가 있습니다.
public String getGreeting(String userName){
return system.getGreeting(userName);
}
5 단계-프로그램 실행
SystemFixture의 컨텐츠 영역을 마우스 오른쪽 버튼으로 클릭하고 Run as > JUnit Test Case. junit 성공과 함께 다음 출력이 표시됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
축하합니다. 첫 번째 Concordion 합격 테스트를 성공적으로 만들었습니다. 또한 다음 몇 장에서 더 흥미로운 작업을 시작하겠습니다.
Concordion-set 명령
Concordion set 명령은 다른 Concordion 명령에서 사용할 수있는 임시 변수를 저장하는 데 사용됩니다.
다음 요구 사항을 고려하십시오-
The Sum of two numbers 2 and 3 will be 5.
숫자 2와 3을 매개 변수로 사용하고이를 매개 변수로 sum 함수에 전달하여 시스템에서 반환 한 결과에 대해 확인할 수 있도록하려면 숫자 주위의 span 태그 내에서 concordion : set 명령을 사용할 수 있습니다.
<p>The Sum of two numbers <span concordion:set = "#firstNumber">2</span>
and <span concordion:set = "#secondNumber">3</span> will be
<span concordion:assertEquals = "sum(#firstNumber, #secondNumber)">5
</span>.</p>
Concordion은 문서를 구문 분석 할 때 임시 변수 #firstNumber를 값 "2"로 설정하고 #secondNumber를 값 "3"으로 설정 한 다음 매개 변수를 #firstNumber 및 #secondNumber로 사용하여 sum () 메서드를 호출하고 확인합니다. 결과는 "5"와 같습니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필요한 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
public class System {
public int sum(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public int sum(int firstNumber, int secondNumber) {
return system.sum(firstNumber, secondNumber);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>Calculator Specifications</h1>
<p>We are building online calculator support in our website.</p>
<p>Following is the requirement to add two numbers:</p>
<div class = "example">
<h3>Example</h3>
<p>The Sum of two numbers <span concordion:set = "#firstNumber">2</span>
and <span concordion:set = "#secondNumber">3</span> will be
<span concordion:execute = "#result = sum(#firstNumber, #secondNumber)"></span>
<span concordion:assertEquals = "#result">5</span>.</p>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행 해 보겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME>1\ADMINI>1\LOCALS>1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 0
System.html은 concordion 테스트 실행의 출력입니다.
Concordion-assertEquals 명령
Concordion assertEquals 명령은 지정된 값에 대해 Java Bean 속성 또는 메서드 결과를 확인하는 데 사용됩니다.
다음 요구 사항을 고려하십시오-
The sum of two numbers 2 and 3 will be 5.
숫자 2와 3을 매개 변수로 사용하고이를 매개 변수로 합계 함수에 전달하여 시스템에서 반환 된 5로 결과에 대해 확인할 수 있도록하면 sum 함수 주변의 span 태그 내에서 concordion : assertEquals 명령을 사용할 수 있습니다. .
<p>The Sum of two numbers <span concordion:set="#firstNumber">2</span>
and <span concordion:set="#secondNumber">3</span> will be
<span concordion:assertEquals="sum(#firstNumber, #secondNumber)">5</span>.</p>
Concordion은 문서를 구문 분석 할 때 set 명령을 사용하여 임시 변수 #firstNumber를 값 "2"로 설정하고 #secondNumber를 값 "3"으로 설정 한 다음 #firstNumber 및 #secondNumber와 같은 매개 변수를 사용하여 sum () 메서드를 호출합니다. assertEquals 명령을 사용하여 결과가 "5"인지 확인합니다.
예
Eclipse IDE를 제자리에두고 다음 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필수 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
public class System {
public int sum(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public int sum(int firstNumber, int secondNumber) {
return system.sum(firstNumber, secondNumber);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>Calculator Specifications</h1>
<p>We are building online calculator support in our website.</p>
<p>Following is the requirement to add two numbers:</p>
<div class = "example">
<h3>Example</h3>
<p>The Sum of two numbers <span concordion:set = "#firstNumber">2</span>
and <span concordion:set = "#secondNumber">3</span> will be
<span concordion:assertEquals = "sum(#firstNumber, #secondNumber)">5</span>.</p>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음 결과가 표시됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
성공 : 1, 실패 : 0
Concordion-assertTrue 명령
Concordion assertTrue 명령은 조명기가 테스트를 수행하기 위해 예상 결과를 알아야 할 때 사용됩니다.
다음 요구 사항을 고려하십시오-
User Name : Robert De
The User name starts with R.
The User name starts with S == false.
사용자 이름에서 테스트를 실행하고 사용자 이름이 R로 시작하는지 여부를 확인합니다.
<p>User Name :<span concordion:set = "#userName">Robert De</span></p>
<p>The User name <span concordion:assertTrue = "#userName.startsWith(#letter)">starts
with <b concordion:set = "#letter">R</b></span>.</p>
<p>The User name <span concordion:assertTrue = "#userName.startsWith(#letter)">starts
with <b concordion:set = "#letter">S</b></span>.</p>
Concordion은 문서를 구문 분석 할 때 임시 변수 #userName을 "Robert De"값으로 설정합니다. 그런 다음 userName이 다음 명령에 설정된 #letter 변수에 지정된 문자로 시작하는지 확인합니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필요한 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
public class System {
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>System Specifications</h1>
<p>We are building specifications for our online order tracking application.</p>
<p>Following is the requirement to split full name of a logged in user to
its constituents by splitting name by whitespace:</p>
<div class = "example">
<h3>Example</h3>
<p>User Name :<span concordion:set = "#userName">Robert De</span></p>
<p>The User name <span concordion:assertTrue = "#userName.startsWith(#letter)">starts
with <b concordion:set = "#letter">R</b></span>.</p>
<p>The User name <span concordion:assertTrue = "#userName.startsWith(#letter)">starts
with <b concordion:set = "#letter">S</b></span>.</p>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 1
System.html은 Concordion 테스트 실행의 출력입니다.
Concordion-assertFalse 명령
Concordion assertFalse 명령은 조명기가 테스트를 수행하기 위해 예상되는 결과를 알아야 할 때 사용됩니다.
다음 요구 사항을 고려하십시오-
User Name : Robert De
The User name does not start with S.
사용자 이름에서 테스트를 실행하고 사용자 이름이 S로 시작하지 않는지 확인하려면
<p>User Name :<span concordion:set = "#userName">Robert De</span></p>
<p>The User name <span concordion:assertFalse = "#userName.startsWith(#letter)">does not start
with <b concordion:set = "#letter">S</b></span>.</p>
Concordion은 문서를 구문 분석 할 때 임시 변수 #userName을 "Robert De"값으로 설정합니다. 그런 다음 userName이 다음 명령에서 설정 한 #letter 변수에 지정된 문자로 시작하는지 확인합니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필요한 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
public class System {
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>System Specifications</h1>
<p>We are building specifications for our online order tracking application.</p>
<p>Following is the requirement to split full name of a logged in user to its
constituents by splitting name by whitespace:</p>
<div class = "example">
<h3>Example</h3>
<p>User Name :<span concordion:set = "#userName">Robert De</span></p>
<p>The User name <span concordion:assertFalse = "#userName.startsWith(#letter)">
does not start with <b concordion:set = "#letter">
S</b></span>.</p>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
Concordion-명령 실행
Concordion 실행 명령은 Concordion 조명기의 작동을 실행하는 데 사용됩니다. 다음 요구 사항을 고려하십시오-
The sum of two numbers 2 and 3 will be 5.
두 개의 숫자를 받아들이고 그 합계를 출력하는 합계 함수에 대한 사양을 작성하려면 사양은 다음과 같습니다.
<p>The Sum of two numbers <span concordion:set = "#firstNumber">2</span> and
<span concordion:set = "#secondNumber">3</span> will be
<span concordion:execute = "#result = sum(#firstNumber, #secondNumber)">
</span><span concordion:assertEquals = "#result">5</span>.</p>
Concordion은 문서를 구문 분석 할 때 임시 변수 #firstNumber를 값 "2"로 설정하고 #secondNumber를 값 "3"으로 설정 한 다음 execute를 사용하여 #firstNumber 및 #secondNumber 매개 변수와 함께 sum () 메서드를 실행합니다. 명령을 실행하고 결과를 #result 변수로 설정하고 #result 변수가 "5"와 같은지 확인하십시오.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필수 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
public class System {
public int sum(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public int sum(int firstNumber, int secondNumber) {
return system.sum(firstNumber, secondNumber);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>Calculator Specifications</h1>
<p>We are building online calculator support in our website.</p>
<p>Following is the requirement to add two numbers:</p>
<div class = "example">
<h3>Example</h3>
<p>The Sum of two numbers <span concordion:set = "#firstNumber">2</span>
and <span concordion:set = "#secondNumber">3</span> will be
<span concordion:execute = "#result = sum(#firstNumber, #secondNumber)">
</span><span concordion:assertEquals = "#result">5</span>.</p>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
Concordion-반환 개체
Concordion 실행 명령은 동작의 여러 출력을 얻을 수있는 객체 형태의 동작 결과를 얻는 데 사용할 수 있습니다. 예를 들어, 다음 요구 사항을 고려하십시오.
The full name Robert De is to be broken into first name Robert and last name De.
여기서는 사용자 이름을 받아들이고 이름과 성을 속성으로 갖는 결과 객체를 반환하는 분할 함수가 있어야 사용할 수 있습니다.
사용자 이름을 예상하고 결과 객체를 출력하는 분할 함수에 대한 사양을 작성하려면 다음이 사양이됩니다.
<p>The full name <span concordion:execute = "#result = split(#TEXT)">Robert
De</span> is to be broken into first name
<span concordion:assertEquals = "#result.firstName">Robert</span> and last name
<span concordion:assertEquals = "#result.lastName">De</span>.</p>
Concordion은 문서를 구문 분석 할 때 특수 변수 #TEXT의 값을 현재 요소의 값으로 "Robert De"로 설정하고이를 split 함수에 전달합니다. 그런 다음 execute 명령을 사용하여 매개 변수가 #TEXT 인 split () 메서드를 실행하고 결과를 #result 변수에 설정하고 결과 객체를 사용하여 firstName 및 lastName 속성을 출력으로 인쇄합니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 concordion 인 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필요한 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 System , Result를 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 Result.java 파일의 내용입니다.
package com.tutorialspoint;
public class Result {
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
public class System {
public Result split(String userName){
Result result = new Result();
String[] words = userName.split(" ");
result.setFirstName(words[0]);
result.setLastName(words[1]);
return result;
}
}
다음은 SystemFixture.java 파일의 내용입니다.
package specs.tutorialspoint;
import com.tutorialspoint.Result;
import com.tutorialspoint.System;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public Result split(String userName){
return system.split(userName);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>System Specifications</h1>
<p>We are building specifications for our online order tracking application.</p>
<p>Following is the requirement to split full name of a logged in user to its
constituents by splitting name by whitespace:</p>
<div class = "example">
<h3>Example</h3>
<p>The full name <span concordion:execute = "#result = split(#TEXT)">Robert
De</span> is to be broken into first name <span
concordion:assertEquals = "#result.firstName">Robert</span> and last name <span
concordion:assertEquals = "#result.lastName">De</span>.</p>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
Concordion-돌아 오는지도
Concordion 실행 명령은 동작의 여러 출력을 얻을 수있는 맵 형태로 동작의 결과를 얻는 데 사용할 수 있습니다. 예를 들어, 다음 요구 사항을 고려하십시오.
The full name Robert De is to be broken into its first name Robert and last name De.
여기서 우리는 사용자 이름을 받아들이고 해당 값을 가진 키로 firstName과 lastName을 갖는 Map 객체를 반환하는 유출 된 함수가 필요합니다.
사용자 이름을 받아들이고 결과 객체를 출력하는 분할 함수에 대한 사양을 작성하려면 다음이 사양이됩니다.
<p>The full name <span concordion:execute = "#result = split(#TEXT)">Robert
De</span> is to be broken into first name <span
concordion:assertEquals = "#result.firstName">Robert</span> and last name <span
concordion:assertEquals = "#result.lastName">De</span>.</p>
Concordion은 문서를 구문 분석 할 때 특수 변수 #TEXT의 값을 현재 요소의 값으로 "Robert De"로 설정하고이를 split 함수에 전달합니다. 그런 다음 execute 명령을 사용하여 매개 변수를 #TEXT로하는 split () 메서드를 실행하고 결과를 #result 변수에 설정하고 결과 맵을 사용하여 firstName 및 lastName 값을 출력으로 인쇄합니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필요한 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
import java.util.HashMap;
import java.util.Map;
public class System {
public Map split(String userName){
Map<String, String> result = new HashMap<String, String>();
String[] words = userName.split(" ");
result.put("firstName", words[0]);
result.put("lastName", words[1]);
return result;
}
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import java.util.Map;
import com.tutorialspoint.Result;
import com.tutorialspoint.System;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public Map<String, String> split(String userName){
return system.split(userName);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>System Specifications</h1>
<p>We are building specifications for our online order tracking application.</p>
<p>Following is the requirement to split full name of a logged in user to its
constituents by splitting name by whitespace:</p>
<div class = "example">
<h3>Example</h3>
<p>The full name <span concordion:execute = "#result = split(#TEXT)">Robert
De</span> is to be broken into first name <span
concordion:assertEquals = "#result.firstName">Robert</span> and last name
<span concordion:assertEquals = "#result.lastName">De</span>.</p>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
Concordion-MultiValueResult 반환
Concordion 실행 명령은 동작의 여러 출력을 얻을 수있는 맵 형태로 동작의 결과를 얻는 데 사용할 수 있습니다. 예를 들어, 다음 요구 사항을 고려하십시오.
The full name Robert De is to be broken into its first name Robert and last name De.
여기서 우리는 사용자 이름을 받아들이고 해당 값과 함께 firstName과 lastName을 키로 갖는 Map 객체를 반환하는 분할 함수가 필요합니다.
사용자 이름을 받아들이고 결과 객체를 출력하는 분할 함수에 대한 사양을 작성하려면 사양은 다음과 같습니다.
<p>The full name <span concordion:execute = "#result = split(#TEXT)">Robert
De</span> is to be broken into first name
<span concordion:assertEquals = "#result.firstName">Robert</span> and last name
<span concordion:assertEquals = "#result.lastName">De</span>.</p>
Concordion은 문서를 구문 분석 할 때 특수 변수 #TEXT의 값을 현재 요소의 값으로 "Robert De"로 설정하고이를 split 함수에 전달합니다. 그런 다음 execute 명령을 사용하여 매개 변수를 #TEXT로하는 split () 메소드를 실행하고 결과를 #result 변수에 설정하고 결과 맵을 사용하여 firstName 및 lastName 값을 출력으로 인쇄합니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 concordion 인 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필요한 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
import org.concordion.api.MultiValueResult;
public class System {
public MultiValueResult split(String userName){
MultiValueResult result = new MultiValueResult();
String[] words = userName.split(" ");
result.with("firstName", words[0]).with("lastName", words[1]);
return result;
}
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.api.MultiValueResult;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public MultiValueResult split(String userName){
return system.split(userName);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>System Specifications</h1>
<p>We are building specifications for our online order tracking application.</p>
<p>Following is the requirement to split full name of a logged in
user to its constituents by splitting name by whitespace:</p>
<div class = "example">
<h3>Example</h3>
<p>The full name <span concordion:execute = "#result = split(#TEXT)">Robert De</span>
is to be broken into first name <span
concordion:assertEquals = "#result.firstName">Robert</span> and last name <span
concordion:assertEquals = "#result.lastName">De</span>.</p>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 2, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
Concordion-테이블에서 실행
Concordion 실행 명령은 반복적 인 방식으로 Concordion 조명기의 작동을 실행하는 데 사용할 수 있습니다. 예를 들어 테이블 형태로 여러 예제를 사용하여 요구 사항을 설명하려는 경우 유용합니다.
다음 요구 사항을 고려하십시오-
<table>
<tr><th>First Number</th><th>Second Number</th><th>Sum</th></tr>
<tr><td>2</td><td>3</td><td>5</td></tr>
<tr><td>4</td><td>5</td><td>9</td></tr>
</table>
두 개의 숫자를 받아들이고 그 합계를 출력하는 합계 함수에 대한 사양을 작성하려면 사양은 다음과 같습니다.
<table>
<tr><th>First Number</th><th>Second Number</th><th>Sum</th></tr>
<tr concordion:execute = "#result = sum(#fullName)">
<td concordion:set = "#firstNumber">2</td>
<td concordion:set = "#secondNumber">3</td>
<td concordion:assertEquals = "#result">5</td>
</tr>
<tr concordion:execute = "#result = sum(#fullName)">
<td concordion:set = "#firstNumber">4</td>
<td concordion:set = "#secondNumber">5</td>
<td concordion:assertEquals = "#result">9</td>
</tr>
</table>
Concordion은 문서를 구문 분석 할 때 임시 변수 #firstNumber를 값 "2"로 설정하고 #secondNumber를 값 "3"으로 설정합니다. 그런 다음 execute 명령을 사용하여 #firstNumber 및 #secondNumber와 같은 매개 변수로 sum () 메서드를 실행하고 결과를 #result 변수에 설정하고 #result 변수가 "5"와 같은지 확인합니다. 이 프로세스는 각 테이블 행 요소에 대해 반복됩니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필수 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
public class System {
public int sum(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public int sum(int firstNumber, int secondNumber) {
return system.sum(firstNumber, secondNumber);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>Calculator Specifications</h1>
<p>We are building online calculator support in our website.</p>
<p>Following is the requirement to add two numbers:</p>
<div class = "example">
<h3>Example</h3>
<table>
<tr>
<th>First Number</th>
<th>Second Number</th>
<th>Sum</th>
</tr>
<tr concordion:execute = "#result = sum(#firstNumber, #secondNumber)">
<td concordion:set = "#firstNumber">2</td>
<td concordion:set = "#secondNumber">3</td>
<td concordion:assertEquals = "#result">5</td>
</tr>
<tr concordion:execute = "#result = sum(#firstNumber, #secondNumber)">
<td concordion:set = "#firstNumber">4</td>
<td concordion:set = "#secondNumber">5</td>
<td concordion:assertEquals = "#result">9</td>
</tr>
</table>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 2, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
Concordion-목록에서 실행
Concordion 실행 명령은 반복적 인 방식으로 Concordion 조명기의 작동을 실행하는 데 사용할 수 있습니다. 예를 들어 목록 형태로 여러 예를 사용하여 요구 사항을 설명하려는 경우 유용합니다.
다음 요구 사항을 고려하십시오-
<ul>
<li>The full name Robert De is to be split as
<ul>
<li>Robert</li>
<li>De</li>
</ul>
</li>
<li>The full name John Diere is to be split as
<ul>
<li>John</li>
<li>Diere</li>
</ul>
</li>
</ul>
이름을 이름과 성으로 분할하는 분할 함수에 대한 사양을 작성하려면 사양은 다음과 같습니다.
<ul>
<li>The full name <span concordion:execute = "#result = split(#TEXT)">
Robert De</span> is to be splited as
<ul>
<li><span concordion:assertEquals = "#result.firstName">Robert</span></li>
<li><span concordion:assertEquals = "#result.lastName">De</span></li>
</ul>
</li>
<li>The full name <span concordion:execute = "#result = split(#TEXT)">
John Diere</span> is to be splited as
<ul>
<li><span concordion:assertEquals = "#result.firstName">John</span></li>
<li><span concordion:assertEquals = "#result.lastName">Diere</span></li>
</ul>
</li>
</ul>
Concordion은 문서를 구문 분석 할 때 특수 변수 #TEXT의 값을 현재 요소의 값으로 "Robert De"로 설정하고이를 split 함수에 전달합니다. 그런 다음 execute 명령을 사용하여 매개 변수를 #TEXT로하는 split () 메서드를 실행하고 결과를 #result 변수로 설정하고 result를 사용하여 firstName 및 lastName 값을 출력으로 인쇄합니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필수 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
import org.concordion.api.MultiValueResult;
public class System {
public MultiValueResult split(String userName){
MultiValueResult result = new MultiValueResult();
String[] words = userName.split(" ");
result.with("firstName", words[0]).with("lastName", words[1]);
return result;
}
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.api.MultiValueResult;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public MultiValueResult split(String userName){
return system.split(userName);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>System Specifications</h1>
<p>We are building specifications for our online order tracking application.</p>
<p>Following is the requirement to split full name of a logged
in user to its constituents by splitting name by whitespace:</p>
<div class = "example">
<h3>Example</h3>
<ul>
<li>The full name <span concordion:execute = "#result = split(#TEXT)">
Robert De</span> is to be splited as
<ul>
<li><span concordion:assertEquals = "#result.firstName">
Robert</span></li>
<li><span concordion:assertEquals = "#result.lastName">
De</span></li>
</ul>
</li>
<li>The full name <span concordion:execute ="#result = split(#TEXT)">
John Diere</span> is to be splited as
<ul>
<li><span concordion:assertEquals = "#result.firstName">
John</span></li>
<li><span concordion:assertEquals = "#result.lastName">
Diere</span></li>
</ul>
</li>
</ul>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 4, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
Concordion-verifyRows 명령
Concordion verifyRows 명령을 사용하여 시스템에서 반환 된 컬렉션의 내용을 확인할 수 있습니다. 예를 들어 시스템에 사용자 집합을 설정하고 부분 검색을 수행하면 시스템이 일치하는 요소를 반환해야합니다. 그렇지 않으면 수락 테스트가 실패합니다.
다음 요구 사항을 고려하십시오-
<table>
<tr><th>Users</th></tr>
<tr><td>Robert De</td></tr>
<tr><td>John Diere</td></tr>
<tr><td>Julie Re</td></tr>
</table>
<p>Search for J should return:</p>
<table>
<tr><th>Matching Users</th></tr>
<tr><td>John Diere</td></tr>
<tr><td>Julie Re</td></tr>
</table>
컬렉션을 검색하고 반환하는 검색 기능에 대한 사양을 작성하려면 사양은 다음과 같습니다.
<table concordion:execute = "addUser(#username)">
<tr><th concordion:set = "#username">Username</th></tr>
<tr><td>Robert De</td></tr>
<tr><td>John Diere</td></tr>
<tr><td>Julie Re</td></tr>
</table>
<p>Search for "<b concordion:set = "#searchString">J</b>" should return:</p>
<table concordion:verifyRows = "#username : search(#searchString)">
<tr><th concordion:assertEquals = "#username">Matching Usernames</th></tr>
<tr><td>John Diere</td></tr>
<tr><td>Julie Re</td></tr>
</table>
Concordion은 문서를 구문 분석 할 때 첫 번째 테이블의 각 행에서 addUser ()를 실행 한 다음 searchString을 J로 설정합니다. 다음으로 Concordion은 예측 가능한 반복 순서로 Iterable 객체를 반환해야하는 검색 함수를 실행합니다 (예 : List, LinkedHashSet 또는 TreeSet), verifyRows는 컬렉션의 각 항목에 대해 실행되고 assertEquals 명령을 실행합니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필요한 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html System.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
import java.util.HashSet;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
public class System {
private Set<String> users = new HashSet<String>();
public void addUser(String username) {
users.add(username);
}
public Iterable<String> search(String searchString) {
SortedSet<String> matches = new TreeSet<String>();
for (String username : users) {
if (username.contains(searchString)) {
matches.add(username);
}
}
return matches;
}
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public void addUser(String username) {
system.addUser(username);
}
public Iterable<String> search(String searchString) {
return system.search(searchString);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>System Specifications</h1>
<p>We are building specifications for our online order tracking application.</p>
<p>Following is the requirement to add a partial search capability on user names:</p>
<div class = "example">
<h3>Example</h3>
<table concordion:execute = "addUser(#username)">
<tr><th concordion:set = "#username">Username</th></tr>
<tr><td>Robert De</td></tr>
<tr><td>John Diere</td></tr>
<tr><td>Julie Re</td></tr>
</table>
<p>Search for "<b concordion:set = "#searchString">J</b>" should return:</p>
<table concordion:verifyRows = "#username : search(#searchString)">
<tr><th concordion:assertEquals = "#username">Matching Usernames</th></tr>
<tr><td>John Diere</td></tr>
<tr><td>Julie Re</td></tr>
</table>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 2, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
Concordion-실행 명령
Concordion 실행 명령을 사용하여 여러 사양을 함께 연결하고 하나의 중앙 페이지에 표시 할 수 있습니다. 이 명령은 링크의 배경을 녹색 / 빨간색 / 회색으로 적절하게 표시하면서 모든 사양을 실행할 수 있습니다.
이제 두 가지 사양을 만들고 함께 연결합니다. Concordion-Execute on List 및 Concordion-Execute on Table 챕터 에서 생성 된 사양을 시스템 사양 및 계산기 사양 으로 재사용 할 것 입니다.
예
작동하는 Eclipse IDE를 준비하고 아래에 제공된 단계에 따라 Concordion 애플리케이션을 만듭니다.
단계 | 기술 |
---|---|
1 | 이름이 일치 하는 프로젝트를 만들고 아래에 com.tutorialspoint 패키지를 만듭니다 .src 생성 된 프로젝트의 폴더. |
2 | Concordion-First Application 장에 설명 된대로 Add External JARs 옵션을 사용하여 필요한 Concordion 라이브러리를 추가 합니다. |
삼 | com.tutorialspoint 패키지 아래에 Java 클래스 시스템을 만듭니다 . |
4 | specs.tutorialspoint 패키지 아래에 Fixture 클래스 SystemFixture , CalculatorFixture를 만듭니다 . |
5 | specs.tutorialspoint 패키지 아래에 사양 html 파일 System.html , Calculator.html을 만듭니다 . |
6 | 마지막 단계는 모든 Java 파일 및 사양 파일의 내용을 만들고 아래 설명 된대로 응용 프로그램을 실행하는 것입니다. |
다음은 System.java 파일의 내용입니다.
package com.tutorialspoint;
import org.concordion.api.MultiValueResult;
public class System {
public MultiValueResult split(String userName){
MultiValueResult result = new MultiValueResult();
String[] words = userName.split(" ");
result.with("firstName", words[0]).with("lastName", words[1]);
return result;
}
public int sum(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
다음은 SystemFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.api.MultiValueResult;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;
@RunWith(ConcordionRunner.class)
public class SystemFixture {
System system = new System();
public MultiValueResult split(String userName){
return system.split(userName);
}
}
다음은 CalculatorFixture.java 파일의 내용입니다-
package specs.tutorialspoint;
import org.concordion.integration.junit4.ConcordionRunner;
import org.junit.runner.RunWith;
import com.tutorialspoint.System;
@RunWith(ConcordionRunner.class)
public class CalculatorFixture {
System system = new System();
public int sum(int firstNumber, int secondNumber) {
return system.sum(firstNumber, secondNumber);
}
}
다음은 System.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>System Specifications</h1>
<p>We are building specifications for our online
order tracking application.</p>
<p>Following is the requirement to split full name of a
logged in user to its constituents by splitting name by whitespace:</p>
<div class = "example">
<h3>Example</h3>
<ul>
<li>The full name <span concordion:execute = "#result = split(#TEXT)">
Robert De</span> is to be splited as
<ul>
<li><span concordion:assertEquals = "#result.firstName">
Robert</span></li>
<li><span concordion:assertEquals = "#result.lastName">
De</span></li>
</ul>
</li>
<li>The full name <span concordion:execute = "#result = split(#TEXT)">
John Diere</span> is to be splited as
<ul>
<li><span concordion:assertEquals = "#result.firstName">
John</span></li>
<li><span concordion:assertEquals = "#result.lastName">
Diere</span></li>
</ul>
</li>
</ul>
</div>
<a concordion:run = "concordion" href = "Calculator.html">
Calculator Service Specifications</a>
</body>
</html>
다음은 Calculator.html 파일의 내용입니다-
<html xmlns:concordion = "http://www.concordion.org/2007/concordion">
<head>
<link href = "../concordion.css" rel = "stylesheet" type = "text/css" />
</head>
<body>
<h1>Calculator Specifications</h1>
<p>We are building online calculator support in our website.</p>
<p>Following is the requirement to add two numbers:</p>
<div class = "example">
<h3>Example</h3>
<table>
<tr>
<th>First Number</th>
<th>Second Number</th>
<th>Sum</th>
</tr>
<tr concordion:execute = "#result = sum(#firstNumber, #secondNumber)">
<td concordion:set = "#firstNumber">2</td>
<td concordion:set = "#secondNumber">3</td>
<td concordion:assertEquals = "#result">5</td>
</tr>
<tr concordion:execute = "#result = sum(#firstNumber, #secondNumber)">
<td concordion:set = "#firstNumber">4</td>
<td concordion:set = "#secondNumber">5</td>
<td concordion:assertEquals = "#result">9</td>
</tr>
</table>
</div>
</body>
</html>
소스 및 사양 파일 생성이 완료되면 애플리케이션을 JUnit 테스트로 실행하겠습니다. 응용 프로그램에 문제가 없으면 다음과 같은 결과가 생성됩니다.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 2, Failures: 0
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 6, Failures: 0
System.html은 Concordion 테스트 실행의 출력입니다.
계산기 서비스 사양 링크를 클릭합니다. 다음 출력이 표시됩니다.