我刚刚发现了 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 等)一起工作。
此外,在处理面向数据库的设计时如何使用它。