Concordion - Commande Exécuter
La commande d'exécution Concordion peut être utilisée pour lier plusieurs spécifications ensemble et les afficher sur une page centrale. Cette commande peut exécuter toutes les spécifications, tout en affichant l'arrière-plan du lien en vert / rouge / gris selon le cas.
Nous allons maintenant créer deux spécifications et les lier ensemble. Nous réutiliserons les spécifications créées dans Concordion - Exécuter sur la liste et Concordion - Exécuter sur les chapitres du tableau en tant que Spécifications du système et Spécifications de la calculatrice.
Exemple
Laissez-nous mettre en place un IDE Eclipse fonctionnel et suivez les étapes ci-dessous pour créer une application Concordion -
Étape | La description |
---|---|
1 | Créez un projet avec un nom concordion et créez un package com.tutorialspoint sous lesrc dossier dans le projet créé. |
2 | Ajoutez les bibliothèques Concordion requises à l'aide de l' option Ajouter des fichiers JAR externes comme expliqué dans le chapitre Concordion - Première application . |
3 | Créez la classe Java System sous le package com.tutorialspoint . |
4 | Créez les classes Fixture SystemFixture , CalculatorFixture sous le package specs.tutorialspoint . |
5 | Créez des fichiers html de spécification System.html , Calculator.html sous le package specs.tutorialspoint . |
6 | La dernière étape consiste à créer le contenu de tous les fichiers Java et le fichier de spécifications et d'exécuter l'application comme expliqué ci-dessous. |
Voici le contenu du fichier 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;
}
}
Voici le contenu du fichier 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);
}
}
Voici le contenu du fichier 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);
}
}
Voici le contenu du fichier 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>
Voici le contenu du fichier 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>
Une fois que vous avez terminé la création des fichiers source et de spécification, laissez-nous exécuter l'application en tant que JUnit Test. Si tout va bien avec votre application, cela produira le résultat suivant -
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 est la sortie du test de Concordion.
Cliquez sur le lien Spécifications du service de la calculatrice. Vous verrez la sortie suivante -