我刚刚发现了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等现有框架一起使用。
此外,在处理面向数据库的设计时如何使用它。
答案 0 :(得分:2)
cucumber确实是一个BDD工具,它起源于ruby社区。 cucumber-jvm是java实现。
关于Given/When/Then,这些是功能文件中各个步骤的别名,而ruby不区分它们。但它们很有价值,因为它们为创作,实施或阅读这些特征的各种利益相关者提供了背景信息。
在与spring的集成方面,cuke4duke可能适合该法案。