2013-02-21 6 views
3

Je viens de découvrir sur le concombre, et il semble être plus enclins à des tests axés sur le comportement? Ou pas?Simple hello world app - Concombre

De plus, je suis cet exemple de code:

public class HelloStepdefs { 
    private Hello hello; 
    private String hi; 

    @Given("^I have a hello app with \"([^\"]*)\"$") 
    public void I_have_a_hello_app_with(String greeting) { 
     hello = new Hello(greeting); 
    } 

    @When("^I ask it to say hi$") 
    public void I_ask_it_to_say_hi() { 
     hi = hello.sayHi(); 
    } 

    @Then("^it should answer with \"([^\"]*)\"$") 
    public void it_should_answer_with(String expectedHi) { 
     assertEquals(expectedHi, hi); 
    } 
} 

De ma compréhension de cette classe amorcera la classe Bonjour à cause de l'annotation @Given, alors si la méthode qui est annotées avec @When est exécuté, il appellera la méthode avec @Then annotation?

cependant

Quoi qu'il en soit concombre semble être très intéressant, comment il fonctionne avec des modèles de conception existants ainsi qu'avec les cadres existants comme le printemps, etc.

De plus, comment peut-il être utilisé pour traiter la base de données des conceptions orientées.

Répondre

2

cucumber est en effet un outil BDD, et il est originaire de la communauté ruby. cucumber-jvm est l'implémentation Java. En ce qui concerne Given/When/Then, ce sont des alias pour des étapes individuelles dans les fichiers de caractéristiques, et ruby ​​ne les distingue pas. Mais ils sont précieux car ils donnent un contexte aux différentes parties prenantes qui créent, implémentent ou lisent les fonctionnalités.

En termes d'intégration avec le ressort, cuke4duke pourrait faire l'affaire.