📅  最后修改于: 2020-12-07 04:41:14             🧑  作者: Mango
让我们开始使用Concordion进行编程。在开始使用Concordion编写第一个示例之前,必须确保已按照Concordion-Environment Setup教程中的说明正确设置了Concordion环境。我们还假设您对Eclipse IDE有所了解。
因此,让我们继续编写一个简单的Concordion应用程序,它将打印以下验收测试-
Example
When Robert logs in the system, a greeting "Hello Robert!" is displayed.
第一步是使用Eclipse IDE创建一个简单的Java项目。遵循选项文件→新建→项目,最后从向导列表中选择Java项目向导。现在使用向导窗口将您的项目命名为Concordion ,如下所示:
成功创建项目后,您的项目资源管理器中将具有以下内容-
让我们在项目中添加手风琴及其依赖项。为此,右键单击您的项目名称和解,然后按照上下文菜单中的可用选项进行操作:构建路径→配置构建路径以显示Java构建路径窗口,如下所示-
现在,使用“库”选项卡下的“添加外部JAR”按钮从Concordion文件夹中添加以下核心JAR。
现在,让我们在concordion项目下创建实际的源文件。首先,我们需要创建一个名为com.tutorialspoint的包。为此,请在“包资源管理器”部分中的src上单击鼠标右键,然后按照以下选项进行操作:新建→包。
接下来,我们将在com.tutorialspoint包下创建System .java文件。
这是System.java文件的内容-
package com.tutorialspoint;
public class System {
public String getGreeting(String userName){
return "Hello " + userName + "!";
}
}
现在,让我们在concordion项目下创建实际的规范文件。首先,我们需要创建一个名为specs的新源文件夹。此文件夹将包含规范文件(例如JUnitFixture或测试运行器)以及html文件。现在,我们需要创建一个名为specs.tutorialspoint的包。为此,请在“包资源管理器”部分中的spec上单击鼠标右键,然后选择以下选项: New→Package 。
接下来,我们将创建specs.tutorialspoint包下System.html和SystemFixture.java文件。之后,我们将在specs源文件夹下添加concordion.css 。
这是System.html文件的内容-
System Specifications
We are building specifications for our online order tracking application.
Following is the requirement to show greeting to logged in user:
Example
When Robert
logs in the system, a greeting "
Hello Robert!" is displayed.
这是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是使用concorordion名称空间的规范html文件。
System.html使用concordion:set命令将临时变量userName的值设置为Robert。这里,userName是要传递给System Fixture的getGreeting方法的参数。
When Robert logs in the system
System.html使用concordion:assertEquals命令检查getGreeting(userName)函数的输出是否为Hello Robert!。
a greeting "
Hello Robert!" is displayed.
SystemFixture是带有ConcordionRunner.class注释的JUnit测试装置。
@RunWith(ConcordionRunner.class)
public class SystemFixture {}
SystemFixture具有getGreeting方法,该方法将问候语返回给用户。
public String getGreeting(String userName){
return system.getGreeting(userName);
}
右键单击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测试运行的输出。
恭喜,您已经成功创建了第一个“协和验收”测试。此外,让我们在接下来的几章中开始做一些更有趣的事情。