简单的你好世界应用程序 - 黄瓜

时间:2013-02-21 11:05:34

标签: java cucumber

我刚刚发现了Cucumber,它似乎更倾向于行为驱动测试?或不?

另外,我得到了这个示例代码:

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

根据我的理解,由于@Given注释,此类将启动Hello类,然后如果执行带有@When注释的方法,它将使用@Then注释调用该方法?

无论如何,Cucumber似乎非常有趣,但是,它如何与现有的设计模式以及Spring等现有框架一起使用。

此外,在处理面向数据库的设计时如何使用它。

1 个答案:

答案 0 :(得分:2)

cucumber确实是一个BDD工具,它起源于ruby社区。 cucumber-jvm是java实现。

关于Given/When/Then,这些是功能文件中各个步骤的别名,而ruby不区分它们。但它们很有价值,因为它们为创作,实施或阅读这些特征的各种利益相关者提供了背景信息。

在与spring的集成方面,cuke4duke可能适合该法案。