Concordion - Thực thi trên bàn
Lệnh thực thi Concordion có thể được sử dụng để chạy hoạt động của bộ cố định concordion theo cách lặp lại. Ví dụ, sẽ rất hữu ích nếu chúng ta muốn minh họa một yêu cầu bằng nhiều ví dụ dưới dạng một bảng.
Hãy xem xét yêu cầu sau:
<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>
Nếu chúng ta muốn viết một đặc tả cho một hàm tổng sẽ chấp nhận hai số và xuất ra tổng của chúng, thì đặc tả sẽ như sau:
<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>
Khi Concordion phân tích cú pháp tài liệu, nó sẽ đặt một biến tạm thời #firstNumber là giá trị "2" và #secondNumber là giá trị "3". Sau đó, nó sẽ thực thi phương thức sum () với các tham số là #firstNumber và #secondNumber bằng lệnh execute và đặt kết quả vào biến #result và kiểm tra xem biến #result có bằng "5" hay không. Quá trình này được lặp lại cho mỗi phần tử hàng của bảng.
Thí dụ
Hãy để chúng tôi có một IDE Eclipse đang hoạt động tại chỗ và làm theo các bước dưới đây để tạo một ứng dụng Concordion -
Bươc | Sự miêu tả |
---|---|
1 | Tạo một dự án với một tên concordion và tạo ra một gói com.tutorialspoint dướisrc thư mục trong dự án đã tạo. |
2 | Thêm thư viện Concordion bắt buộc bằng cách sử dụng tùy chọn Thêm JAR bên ngoài như được giải thích trong chương Concordion - Ứng dụng đầu tiên . |
3 | Tạo Hệ thống lớp Java theo gói com.tutorialspoint . |
4 | Tạo lớp Fixture SystemFixture theo gói specs.tutorialspoint . |
5 | Tạo Thông số kỹ thuật html System.html trong gói specs.tutorialspoint . |
6 | Bước cuối cùng là tạo nội dung của tất cả các tệp Java và tệp đặc tả và chạy ứng dụng như được giải thích bên dưới. |
Đây là nội dung của tệp System.java -
package com.tutorialspoint;
public class System {
public int sum(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
Sau đây là nội dung của tệp 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);
}
}
Sau đây là nội dung của tệp 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>
Khi bạn đã hoàn tất việc tạo các tệp nguồn và đặc tả, hãy để chúng tôi chạy ứng dụng dưới dạng Kiểm tra JUnit. Nếu mọi thứ đều ổn với ứng dụng của bạn, thì nó sẽ tạo ra kết quả sau:
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 2, Failures: 0
System.html là kết quả của quá trình chạy thử nghiệm Concordion.