Concordion - Carte de retour
La commande d'exécution Concordion peut être utilisée pour obtenir le résultat d'un comportement sous la forme d'une carte à l'aide de laquelle nous pouvons obtenir plusieurs sorties d'un comportement. Par exemple, considérez l'exigence suivante -
The full name Robert De is to be broken into its first name Robert and last name De.
Ici, nous avons besoin d'une fonction renversée qui accepte un nom d'utilisateur et retourne un objet Map ayant le firstName et le lastName comme clés ayant des valeurs correspondantes afin que nous puissions les utiliser.
Si nous voulons écrire une spécification pour une telle fonction de division qui acceptera un nom d'utilisateur et affichera un objet de résultat, alors ce qui suit sera la spécification -
<p>The full name <span concordion:execute = "#result = split(#TEXT)">Robert
De</span> is to be broken into first name <span
concordion:assertEquals = "#result.firstName">Robert</span> and last name <span
concordion:assertEquals = "#result.lastName">De</span>.</p>
Lorsque Concordion analyse le document, il définit la valeur de la variable spéciale #TEXT comme étant la valeur de l'élément actuel comme "Robert De" et la transmet à la fonction de fractionnement. Ensuite, il exécutera la méthode split () avec des paramètres comme #TEXT à l'aide de la commande execute et définira le résultat dans la variable #result et en utilisant la carte de résultats, imprimera les valeurs firstName et lastName en sortie.
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;
import java.util.HashMap;
import java.util.Map;
public class System {
public Map split(String userName){
Map<String, String> result = new HashMap<String, String>();
String[] words = userName.split(" ");
result.put("firstName", words[0]);
result.put("lastName", words[1]);
return result;
}
}
Voici le contenu du fichier SystemFixture.java -
package specs.tutorialspoint;
import java.util.Map;
import com.tutorialspoint.Result;
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 Map<String, String> split(String userName){
return system.split(userName);
}
}
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>
<p>The full name <span concordion:execute = "#result = split(#TEXT)">Robert
De</span> is to be broken into first name <span
concordion:assertEquals = "#result.firstName">Robert</span> and last name
<span concordion:assertEquals = "#result.lastName">De</span>.</p>
</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: 1, Failures: 0
System.html est la sortie du test de Concordion.