Konkordion - Erste Anwendung

Beginnen wir mit der Programmierung mit Concordion. Bevor Sie mit dem Schreiben Ihres ersten Beispiels mit Concordion beginnen, müssen Sie sicherstellen, dass Sie Ihre Concordion-Umgebung ordnungsgemäß eingerichtet haben, wie im Tutorial Concordion - Environment Setup erläutert . Wir gehen auch davon aus, dass Sie ein wenig mit Eclipse IDE vertraut sind.

Schreiben wir also eine einfache Concordion-Anwendung, die den folgenden Abnahmetest druckt:

Example
When Robert logs in the system, a greeting "Hello Robert!" is displayed.

Schritt 1 - Java-Projekt erstellen

Der erste Schritt besteht darin, ein einfaches Java-Projekt mit Eclipse IDE zu erstellen. Folgen Sie der OptionFile → New → Project und schließlich auswählen Java ProjectAssistent aus der Assistentenliste. Benennen Sie Ihr Projekt nun alsConcordion Verwenden des Assistentenfensters wie folgt:

Sobald Ihr Projekt erfolgreich erstellt wurde, haben Sie den folgenden Inhalt in Ihrem Project Explorer - -

Schritt 2 - Erforderliche Bibliotheken hinzufügen

Fügen wir unserem Projekt die Konkordion und ihre Abhängigkeiten hinzu. Klicken Sie dazu mit der rechten Maustaste auf Ihren Projektnamenconcordion und folgen Sie dann den im Kontextmenü verfügbaren Optionen: Build Path → Configure Build Path um das Java Build Path-Fenster wie folgt anzuzeigen:

Jetzt benutzen Add External JARs Schaltfläche verfügbar unter Libraries Registerkarte, um die folgende Kern-JAR aus dem Concordion-Ordner hinzuzufügen.

  • concordion-1.5.1
  • hamcrest-core-1.3
  • junit-4.12
  • ognl-2.6.9
  • xom-1.2.5

Schritt 3 - Quelldateien erstellen

Lassen Sie uns nun die tatsächlichen Quelldateien unter dem erstellen concordionProjekt. Zuerst müssen wir ein Paket namens erstellencom.tutorialspoint. Klicken Sie dazu mit der rechten Maustaste aufsrc im Paket-Explorer-Abschnitt und folgen Sie der Option: New → Package.

Als nächstes werden wir System erstellen .java Datei unter dem Paket com.tutorialspoint.

Hier ist der Inhalt von System.java Datei -

package com.tutorialspoint;

public class System {
   public String getGreeting(String userName){
      return "Hello " + userName + "!";
   }
}

Schritt 4 - Spezifikationsdateien erstellen

Lassen Sie uns nun die tatsächlichen Spezifikationsdateien unter dem erstellen concordionProjekt. Zuerst müssen wir einen neuen Quellordner mit dem Namen erstellenspecs. Dieser Ordner enthält Spezifikationsdateien wie JUnitFixture oder Testrunner- und HTML-Dateien, die Spezifikationen sind. Jetzt müssen wir ein Paket namens erstellenspecs.tutorialspoint. Klicken Sie dazu mit der rechten Maustaste aufspec im Paket-Explorer-Abschnitt und folgen Sie der Option: New → Package.

Als nächstes werden wir erstellen System.html und SystemFixture.javaDateien unter dem Paket specs.tutorialspoint. Danach werden wir hinzufügenconcordion.css unter Spezifikationen Quellordner.

Hier ist der Inhalt der System.html Datei -

<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 show greeting to logged in user:</p>
      <div class = "example">      
         <h3>Example</h3>
         <p>When <span concordion:set = "#userName">Robert</span> 
            logs in the system, a greeting "<span concordion:assertEquals = "getGreeting(#userName)">
            Hello Robert!</span>" is displayed.</p>
      </div>
   </body>

</html>

Hier ist der Inhalt der SystemFixture.java Datei -

package specs.tutorialspoint;

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 String getGreeting(String userName){
      return system.getGreeting(userName);
   }
}

Hier ist der Inhalt der concordion.css Datei -

* {
   font-family: Arial;
}

body {
   padding: 32px;  
}

pre {
   padding: 6px 28px 6px 28px;
   background-color: #E8EEF7;
}

pre, pre *, code, code *, kbd {
   font-family: Courier New, Courier;
   font-size: 10pt;
}

h1, h1 * {
   font-size: 24pt;	
}

p, td, th, li, .breadcrumbs {
   font-size: 10pt;
}

p, li {
   line-height: 140%;
}

table {
   border-collapse: collapse;
   empty-cells: show;
   margin: 8px 0px 8px 0px;
}

th, td {
   border: 1px solid black;
   padding: 3px;
}

td {
   background-color: white;
   vertical-align: top;
}

th {
   background-color: #C3D9FF;
}

li {
   margin-top: 6px;
   margin-bottom: 6px; 
}

.example {
   padding: 6px 16px 6px 16px;
   border: 1px solid #D7D7D7;
   margin: 6px 0px 28px 0px;
   background-color: #F7F7F7;
}

.example h3 {
   margin-top: 8px;
   margin-bottom: 8px;
   font-size: 12pt;
}

.special {
  font-style: italic;
}

.idea {
  font-size: 9pt;
  color: #888;
  font-style: italic;	
}

.tight li {
  margin-top: 1px;
  margin-bottom: 1px; 
}

.commentary {
  float: right;
  width: 200px;
  background-color: #ffffd0;
  padding:8px;
  border: 3px solid #eeeeb0;	 
  margin: 10px 0px 10px 10px;	 
}

.commentary, .commentary * {
  font-size: 8pt;
}

Es gibt zwei wichtige Punkte, die bei der HTML-Spezifikationsdatei und der Testvorrichtung zu beachten sind:

  • System.html ist die spezifizierte HTML-Datei, die den Konkordionsnamespace verwendet.

<html xmlns:concordion="http://www.concordion.org/2007/concordion">
  • System.html verwendet den Befehl concordion: set, um den Wert der temporären Variablen userName auf Robert festzulegen. Hier ist userName der Parameter, der an die getGreeting-Methode des System-Fixtures übergeben werden soll.

When <span concordion:set="#userName">Robert</span> logs in the system
  • System.html verwendet den Befehl concordion: assertEquals, um die Ausgabe der Funktion getGreeting (userName) auf Hello Robert! Zu überprüfen.

a greeting "<span concordion:assertEquals="getGreeting(#userName)">
Hello Robert!</span>" is displayed.
  • SystemFixture ist ein mit ConcordionRunner.class kommentiertes JUnit-Testgerät.

@RunWith(ConcordionRunner.class)
public class SystemFixture {}
  • SystemFixture verfügt über eine getGreeting-Methode, die dem Benutzer Grüße zurückgibt.

public String getGreeting(String userName){
   return system.getGreeting(userName);
}

Schritt 5 - Ausführen des Programms

Klicken Sie mit der rechten Maustaste auf den Inhaltsbereich von SystemFixture und wählen Sie Run as > JUnit Test Case. Sie sehen die folgende Ausgabe mit Junit-Erfolg.

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

System.html ist die Ausgabe des Concordion-Testlaufs.

Herzlichen Glückwunsch, Sie haben Ihren ersten Concordion Acceptance-Test erfolgreich erstellt. Lassen Sie uns in den nächsten Kapiteln etwas Interessanteres tun.