Mit Cucumber können Testfälle schön in Worte beschrieben werden. Hier mal ein schneller quick Einstieg.

Eine Testfall Beschreibung kann in Worten mit der Gherkin Syntax geschehen, z.B diese kalender.feature:
Feature: Lebenskalender überprüfen Scenario: Ein Lebenskalender aus der Konsole ausdrucken für Frauen Given eine Frau im Alter von 52 Jahren und 10 Monaten Scenario: Ein Lebenskalender aus der Konsole ausdrucken für Männer Given eine Mann im Alter von 52 Jahren und 10 Monaten
In Eclipse sind die JUnit-Test auch schön lesbar, z.B.:

Für Eclipse gibt es ein Natural 0.7.6 Plug-In für die *.feature Dateien. Das kann leicht über den Eclipse Marketplace installiert werden:

Einfach alles installieren:

Die Testfall implementierung kann z.B. so aussehen. Dieser Testfall gibt nur einen Kalender auf der Konsole aus, deshalb gibt es nur das Generieren:
package de.wenzlaff.lebenskalender;
import cucumber.api.java.en.Given;
/**
* Testklasse für den Lebenskalender.
*
* @author Thomas Wenzlaff
*
*/
public class LebenskalenderCucumber {
@Given("^eine Mann im Alter von (\\d+) Jahren und (\\d+) Monaten$")
public void generateMann(int jahre, int monate) throws Throwable {
Lebenskalender.generate(jahre, monate, false);
}
@Given("^eine Frau im Alter von (\\d+) Jahren und (\\d+) Monaten$")
public void generateFrau(int jahre, int monate) throws Throwable {
Lebenskalender.generate(jahre, monate, true);
}
}
Eine Testklasse zum starten des Testfalls:
package de.wenzlaff.lebenskalender;
import org.junit.runner.RunWith;
import cucumber.api.junit.Cucumber;
/**
* Testsuite für den Lebenskalender.
*
* @author Thomas Wenzlaff
*
*/
@RunWith(Cucumber.class)
public class StartCucumberTest {
}
Folgende Abhängigkeiten werden in der pom.xml benötigt:
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- Cucumber Test --> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-junit</artifactId> <version>1.2.5</version> </dependency> <dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-java</artifactId> <version>1.2.5</version> <scope>test</scope> </dependency>
Das ganze Testprojekt kann auf Github geladen werden.
Eine weitergehende Anleitung auf deutsch gibt es hier.
Ähnliche Artikel:
- PDF erzeugung in 5 Zeilen mit Java am Beispiel eines Lebenskalender
- JUnit 4.12 erschienen
- Wie kann ein BE-Model (ecore) mit Eclipse Modeling Framework (EMF) unter Eclipse Luna 4.4.2 und Texo generiert werden?
