Concordion - Exécuter sur table
La commande d'exécution de Concordion peut être utilisée pour exécuter l'opération d'un appareil de concordion de manière répétée. Par exemple, il sera utile si nous voulons illustrer une exigence avec plusieurs exemples sous la forme d'un tableau.
Tenez compte de l'exigence suivante -
<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>
Si nous voulons écrire une spécification pour une fonction de somme qui acceptera deux nombres et affichera leur somme, alors la spécification serait la suivante -
<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>
Lorsque Concordion analyse le document, il définit une variable temporaire #firstNumber pour être la valeur "2" et #secondNumber pour la valeur "3". Ensuite, il exécutera la méthode sum () avec des paramètres comme #firstNumber et #secondNumber à l'aide de la commande execute et définira le résultat dans la variable #result et vérifiera que la variable #result est égale à "5". Ce processus est répété pour chaque élément de ligne de table.
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 la classe Fixture SystemFixture sous le package specs.tutorialspoint . |
5 | Créez la spécification html System.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;
public class System {
public int sum(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
Voici le contenu du fichier 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);
}
}
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>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é de créer les 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
System.html est la sortie du test de Concordion.