Concordion - Komutu Çalıştır
Concordion run komutu, birden fazla spesifikasyonu birbirine bağlamak ve bunları tek bir merkezi sayfada görüntülemek için kullanılabilir. Bu komut, bağlantının arka planını uygun şekilde yeşil / kırmızı / gri olarak görüntülerken tüm özellikleri çalıştırabilir.
Şimdi iki özellik oluşturup bunları birbirine bağlayacağız. Concordion - Execute on List ve Concordion - Execute on Table bölümlerinde oluşturulan spesifikasyonları Sistem Spesifikasyonları ve Hesap Makinesi Spesifikasyonları olarak yeniden kullanacağız .
Misal
Yerinde çalışan bir Eclipse IDE'ye sahip olalım ve bir Concordion uygulaması oluşturmak için aşağıda verilen adımları izleyelim -
Adım | Açıklama |
---|---|
1 | Bir isim ile Proje oluşturma concordion ve bir paket oluşturmak com.tutorialspoint altındasrc oluşturulan projedeki klasör. |
2 | Concordion - First Application bölümünde açıklandığı gibi Add External JARs seçeneğini kullanarak gerekli Concordion kitaplıklarını ekleyin . |
3 | Com.tutorialspoint paketi altında Java sınıfı Sistem oluşturun . |
4 | Specs.tutorialspoint paketi altında Fixture sınıfları SystemFixture , CalculatorFixture oluşturun . |
5 | Specs.tutorialspoint paketi altında System.html , Calculator.html Specification html dosyalarını oluşturun . |
6 | Son adım, tüm Java dosyalarının ve belirtim dosyasının içeriğini oluşturmak ve aşağıda açıklandığı gibi uygulamayı çalıştırmaktır. |
System.java dosyasının içeriği -
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 dosyasının içeriği aşağıdadır -
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 dosyasının içeriği aşağıdadır -
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 dosyasının içeriği aşağıdadır -
<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 dosyasının içeriği aşağıdadır -
<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>
Kaynak ve spesifikasyon dosyalarını oluşturduktan sonra, uygulamayı JUnit Test olarak çalıştıralım. Başvurunuzla ilgili her şey yolundaysa, aşağıdaki sonucu verecektir -
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 test çalıştırmasının çıktısıdır.
Hesap Makinesi Hizmet Özellikleri bağlantısına tıklayın. Aşağıdaki çıktıyı göreceksiniz -