Concordion - Ejecutar en la mesa
El comando de ejecución de concordion se puede usar para ejecutar la operación del dispositivo de concordion de manera repetida. Por ejemplo, será útil si queremos ilustrar un requisito con varios ejemplos en forma de tabla.
Considere el siguiente 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>
Si queremos escribir una especificación para una función de suma que aceptará dos números y generará su suma, entonces la especificación sería la siguiente:
<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>
Cuando Concordion analiza el documento, establecerá una variable temporal #firstNumber como el valor "2" y #secondNumber como el valor "3". Luego ejecutará el método sum () con parámetros como #firstNumber y #secondNumber usando el comando de ejecución y establecerá el resultado en la variable #result y verificará que la variable #result sea igual a "5". Este proceso se repite para cada elemento de fila de la tabla.
Ejemplo
Tengamos un IDE de Eclipse en funcionamiento y sigamos los pasos que se indican a continuación para crear una aplicación Concordion:
Paso | Descripción |
---|---|
1 | Cree un proyecto con un nombre concordion y cree un paquete com.tutorialspoint bajo elsrc carpeta en el proyecto creado. |
2 | Agregue las bibliotecas de Concordion requeridas usando la opción Agregar JAR externos como se explica en el capítulo Concordion - Primera aplicación . |
3 | Cree un sistema de clases Java en el paquete com.tutorialspoint . |
4 | Crear Fixture clase SystemFixture bajo la specs.tutorialspoint paquete. |
5 | Cree Specification html System.html en el paquete specs.tutorialspoint . |
6 | El paso final es crear el contenido de todos los archivos Java y el archivo de especificación y ejecutar la aplicación como se explica a continuación. |
Aquí está el contenido del archivo System.java:
package com.tutorialspoint;
public class System {
public int sum(int firstNumber, int secondNumber) {
return firstNumber + secondNumber;
}
}
A continuación se muestra el contenido del archivo 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);
}
}
A continuación se muestra el contenido del archivo 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 vez que haya terminado de crear los archivos fuente y de especificación, ejecutemos la aplicación como JUnit Test. Si todo está bien con su aplicación, producirá el siguiente resultado:
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 2, Failures: 0
System.html es el resultado de la ejecución de prueba de Concordion.