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.