Concordion - Ứng dụng đầu tiên
Chúng ta hãy bắt đầu lập trình với Concordion. Trước khi bắt đầu viết ví dụ đầu tiên bằng Concordion, bạn phải đảm bảo rằng bạn đã thiết lập môi trường Concordion đúng cách như đã giải thích trong hướng dẫn Thiết lập Môi trường - Concordion . Chúng tôi cũng giả định rằng bạn có một chút kiến thức về Eclipse IDE.
Vì vậy, chúng ta hãy tiến hành viết một ứng dụng Concordion đơn giản để in bản kiểm tra chấp nhận sau:
Example
When Robert logs in the system, a greeting "Hello Robert!" is displayed.
Bước 1 - Tạo dự án Java
Bước đầu tiên là tạo một dự án Java đơn giản bằng Eclipse IDE. Làm theo tùy chọnFile → New → Project và cuối cùng chọn Java Projectwizard từ danh sách wizard. Bây giờ đặt tên cho dự án của bạn làConcordion bằng cách sử dụng cửa sổ thuật sĩ như sau:
Khi dự án của bạn được tạo thành công, bạn sẽ có nội dung sau trong Project Explorer -
Bước 2 - Thêm Thư viện Bắt buộc
Hãy để chúng tôi thêm concordion và các phụ thuộc của nó trong dự án của chúng tôi. Để làm điều này, hãy nhấp chuột phải vào tên dự án của bạnconcordion và sau đó làm theo các tùy chọn có sẵn trong menu ngữ cảnh: Build Path → Configure Build Path để hiển thị cửa sổ Java Build Path như sau:
Bây giờ sử dụng Add External JARs nút có sẵn dưới Libraries để thêm JAR cốt lõi sau từ thư mục Concordion.
- concordion-1.5.1
- hamcrest-core-1.3
- junit-4.12
- ognl-2.6.9
- xom-1.2.5
Bước 3 - Tạo tệp nguồn
Bây giờ, chúng ta hãy tạo các tệp nguồn thực tế trong concordiondự án. Đầu tiên, chúng ta cần tạo một gói có têncom.tutorialspoint. Để làm điều này, hãy nhấp chuột phải vàosrc trong phần trình khám phá gói và làm theo tùy chọn: New → Package.
Tiếp theo, chúng tôi sẽ tạo Hệ thống .java tệp dưới gói com.tutorialspoint.
Đây là nội dung của System.java tập tin -
package com.tutorialspoint;
public class System {
public String getGreeting(String userName){
return "Hello " + userName + "!";
}
}
Bước 4 - Tạo tệp thông số kỹ thuật
Bây giờ chúng ta hãy tạo các tệp thông số kỹ thuật thực tế trong concordiondự án. Đầu tiên, chúng ta cần tạo một thư mục nguồn mới có tênspecs. Thư mục này sẽ chứa các tệp đặc tả như JUnitFixture hoặc tệp chạy thử nghiệm và html là các thông số kỹ thuật. Bây giờ chúng ta cần tạo một gói có tên làspecs.tutorialspoint. Để làm điều này, hãy nhấp chuột phải vàospec trong phần trình khám phá gói và làm theo tùy chọn: New → Package.
Tiếp theo, chúng tôi sẽ tạo System.html và SystemFixture.javacác tệp trong gói specs.tutorialspoint. Sau đó, chúng tôi sẽ thêmconcordion.css dưới thư mục nguồn thông số kỹ thuật.
Đây là nội dung của System.html tập tin -
<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>
Đây là nội dung của SystemFixture.java tập tin -
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);
}
}
Đây là nội dung của concordion.css tập tin -
* {
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;
}
Có hai điểm quan trọng cần lưu ý về tệp html đặc tả và Lịch thi thử -
System.html là tệp html đặc tả sử dụng không gian tên tương hợp.
<html xmlns:concordion="http://www.concordion.org/2007/concordion">
System.html sử dụng lệnh concordion: set để đặt giá trị của biến tạm thời userName là Robert. Ở đây, userName là tham số được truyền cho phương thức getGreeting của System fixture.
When <span concordion:set="#userName">Robert</span> logs in the system
System.html sử dụng lệnh concordion: khẳng địnhEquals để kiểm tra kết quả đầu ra của hàm getGreeting (userName) là Xin chào Robert !.
a greeting "<span concordion:assertEquals="getGreeting(#userName)">
Hello Robert!</span>" is displayed.
SystemFixture là một công cụ kiểm tra JUnit được chú thích bằng ConcordionRunner.class.
@RunWith(ConcordionRunner.class)
public class SystemFixture {}
SystemFixture có một phương thức getGreeting trả về lời chào cho người dùng.
public String getGreeting(String userName){
return system.getGreeting(userName);
}
Bước 5 - Chạy chương trình
Nhấp chuột phải vào vùng nội dung của SystemFixture và chọn Run as > JUnit Test Case. Bạn sẽ thấy kết quả sau với thành công tháng sáu.
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 1, Failures: 0
System.html là kết quả của quá trình chạy thử nghiệm Concordion.
Xin chúc mừng, bạn đã tạo thành công thử nghiệm Chấp nhận Kết hợp đầu tiên của mình. Xa hơn, chúng ta hãy bắt đầu làm điều gì đó thú vị hơn trong vài chương tiếp theo.