Concordione - Prima applicazione

Cominciamo a programmare con Concordion. Prima di iniziare a scrivere il tuo primo esempio usando Concordion, devi assicurarti di aver impostato correttamente il tuo ambiente Concordion come spiegato nel tutorial Concordion - Environment Setup . Diamo anche per scontato che tu abbia un po 'di conoscenza operativa di Eclipse IDE.

Procediamo quindi a scrivere una semplice domanda Concordion che stamperà il seguente test di accettazione:

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

Passaggio 1: creare un progetto Java

Il primo passo è creare un semplice progetto Java utilizzando Eclipse IDE. Segui l'opzioneFile → New → Project e infine seleziona Java Projectprocedura guidata dall'elenco delle procedure guidate. Ora assegna un nome al tuo progetto comeConcordion utilizzando la finestra della procedura guidata come segue:

Una volta che il tuo progetto è stato creato con successo, avrai il seguente contenuto nel tuo file Project Explorer -

Passaggio 2: aggiungere le librerie richieste

Aggiungiamo la concordia e le sue dipendenze nel nostro progetto. Per fare ciò, fai clic con il pulsante destro del mouse sul nome del progettoconcordion e quindi seguire le opzioni disponibili nel menu contestuale: Build Path → Configure Build Path per visualizzare la finestra Percorso build Java come segue:

Ora usa Add External JARs pulsante disponibile sotto Libraries scheda per aggiungere il seguente JAR principale dalla cartella Concordion.

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

Passaggio 3: creare file di origine

Ora creiamo i file sorgente effettivi sotto concordionprogetto. Per prima cosa, dobbiamo creare un pacchetto chiamatocom.tutorialspoint. Per fare ciò, fai clic con il pulsante destro del mouse susrc nella sezione Esplora pacchetti e segui l'opzione: New → Package.

Successivamente, creeremo System .java file nel pacchetto com.tutorialspoint.

Ecco il contenuto di System.java file -

package com.tutorialspoint;

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

Passaggio 4: creare file di specifiche

Ora creiamo dei file di specifica effettivi sotto concordionprogetto. Innanzitutto, dobbiamo creare una nuova cartella di origine denominataspecs. Questa cartella conterrà file di specifiche come JUnitFixture o test runner e file html che sono specifiche. Ora dobbiamo creare un pacchetto chiamatospecs.tutorialspoint. Per fare ciò, fai clic con il pulsante destro del mouse suspec nella sezione Esplora pacchetti e segui l'opzione: New → Package.

Successivamente, creeremo System.html e SystemFixture.javafile nel pacchetto specs.tutorialspoint. Successivamente, aggiungeremoconcordion.css nella cartella di origine delle specifiche.

Ecco il contenuto del file System.html file -

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

Ecco il contenuto del file SystemFixture.java file -

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);
   }
}

Ecco il contenuto del file concordion.css file -

* {
   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;
}

Ci sono due punti importanti da notare sul file html delle specifiche e sul dispositivo di prova:

  • System.html è il file html delle specifiche che utilizza lo spazio dei nomi concordion.

<html xmlns:concordion="http://www.concordion.org/2007/concordion">
  • System.html utilizza concordion: set command per impostare un valore delle variabili temporanee userName in modo che sia Robert. In questo caso, userName è il parametro da passare al metodo getGreeting del dispositivo di sistema.

When <span concordion:set="#userName">Robert</span> logs in the system
  • System.html utilizza il comando concordion: assertEquals per verificare che l'output della funzione getGreeting (userName) sia Hello Robert !.

a greeting "<span concordion:assertEquals="getGreeting(#userName)">
Hello Robert!</span>" is displayed.
  • SystemFixture è un dispositivo di prova JUnit annotato con ConcordionRunner.class.

@RunWith(ConcordionRunner.class)
public class SystemFixture {}
  • SystemFixture ha un metodo getGreeting che restituisce i saluti all'utente.

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

Passaggio 5: esecuzione del programma

Fare clic con il tasto destro del mouse sull'area del contenuto di SystemFixture e selezionare Run as > JUnit Test Case. Verrà visualizzato il seguente output con successo junit.

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

System.html è l'output dell'esecuzione di test Concordion.

Congratulazioni, hai creato con successo il tuo primo test di accettazione Concordion. Inoltre, iniziamo a fare qualcosa di più interessante nei prossimi capitoli.