Konkordion - Auf dem Tisch ausführen

Der Concordion Execute-Befehl kann verwendet werden, um den Betrieb des Concordion Fixture wiederholt auszuführen. Zum Beispiel ist es nützlich, wenn wir eine Anforderung mit mehreren Beispielen in Form einer Tabelle veranschaulichen möchten.

Beachten Sie die folgende Anforderung:

<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>

Wenn wir eine Spezifikation für eine Summenfunktion schreiben möchten, die zwei Zahlen akzeptiert und deren Summe ausgibt, lautet die Spezifikation wie folgt:

<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>

Wenn Concordion das Dokument analysiert, wird eine temporäre Variable #firstNumber auf den Wert "2" und #secondNumber auf den Wert "3" gesetzt. Anschließend wird die sum () -Methode mit den Parametern #firstNumber und #secondNumber mit dem Befehl execute ausgeführt, das Ergebnis in die Variable #result gesetzt und überprüft, ob die Variable #result gleich "5" ist. Dieser Vorgang wird für jedes Tabellenzeilenelement wiederholt.

Beispiel

Lassen Sie uns eine funktionierende Eclipse-IDE einrichten und führen Sie die folgenden Schritte aus, um eine Concordion-Anwendung zu erstellen.

Schritt Beschreibung
1 Erstellen Sie ein Projekt mit einem Namen concordion und erstellen Sie ein Paket com.tutorialspoint unter dersrc Ordner im erstellten Projekt.
2 Fügen Sie die erforderlichen Concordion-Bibliotheken mit der Option Externe JARs hinzufügen hinzu, wie im Kapitel Concordion - Erste Anwendung erläutert .
3 Erstellen Java - Klasse - System unter dem com.tutorialspoint Paket.
4 Erstellen Sie die Fixture-Klasse SystemFixture unter dem Paket specs.tutorialspoint .
5 Erstellen Sie die Spezifikation html System.html unter dem Paket specs.tutorialspoint .
6 Der letzte Schritt besteht darin, den Inhalt aller Java-Dateien und der Spezifikationsdatei zu erstellen und die Anwendung wie unten erläutert auszuführen.

Hier ist der Inhalt der Datei System.java -

package com.tutorialspoint;
public class System {
   public int sum(int firstNumber, int secondNumber) {
      return firstNumber + secondNumber;
   }
}

Es folgt der Inhalt der Datei 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);
   }
}

Es folgt der Inhalt der Datei 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>

Wenn Sie mit dem Erstellen der Quell- und Spezifikationsdateien fertig sind, lassen Sie uns die Anwendung als JUnit-Test ausführen. Wenn mit Ihrer Anwendung alles in Ordnung ist, führt dies zu folgendem Ergebnis:

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\concordion\specs\tutorialspoint\System.html
Successes: 2, Failures: 0

System.html ist die Ausgabe des Concordion-Testlaufs.