Concordione - Esegui sul tavolo
Il comando Concordion execute può essere utilizzato per eseguire l'operazione del dispositivo di concordion in modo ripetuto. Ad esempio, sarà utile se vogliamo illustrare un requisito con più esempi sotto forma di tabella.
Considera il seguente requisito:
<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>
Se vogliamo scrivere una specifica per una funzione di somma che accetterà due numeri e restituirà la loro somma, allora la specifica sarà la seguente:
<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>
Quando Concordion analizza il documento, imposterà una variabile temporanea #firstNumber come valore "2" e #secondNumber come valore "3". Quindi eseguirà il metodo sum () con parametri come #firstNumber e #secondNumber utilizzando il comando di esecuzione e imposterà il risultato nella variabile #result e verificherà che la variabile #result sia uguale a "5". Questo processo viene ripetuto per ogni elemento della riga della tabella.
Esempio
Mettiamo in atto un IDE Eclipse funzionante e seguiamo i passaggi indicati di seguito per creare un'applicazione Concordion -
Passo | Descrizione |
---|---|
1 | Crea un progetto con un nome concordion e crea un pacchetto com.tutorialspoint sottosrc cartella nel progetto creato. |
2 | Aggiungere le librerie Concordion richieste utilizzando l' opzione Add External JARs come spiegato nel capitolo Concordion - First Application . |
3 | Crea un sistema di classi Java nel pacchetto com.tutorialspoint . |
4 | Crea la classe Fixture SystemFixture nel pacchetto specs.tutorialspoint . |
5 | Crea specifica html System.html nel pacchetto specs.tutorialspoint . |
6 | Il passaggio finale consiste nel creare il contenuto di tutti i file Java e del file delle specifiche ed eseguire l'applicazione come spiegato di seguito. |
Ecco il contenuto del file System.java -
package com.tutorialspoint;
public class System {
public int sum(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
Di seguito è riportato il contenuto del file 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);
}
}
Di seguito è riportato il contenuto del file 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>
Una volta che hai finito di creare i file sorgente e di specifica, eseguiamo l'applicazione come JUnit Test. Se tutto va bene con la tua applicazione, produrrà il seguente risultato:
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 2, Failures: 0
System.html è l'output dell'esecuzione di test Concordion.