Wpis z mikrobloga

Proszę o wyjaśnienie czy dobrze rozumiem działanie i zastosowanie #cucumber Wiem, że głównie służy do automatyzacji testów ale powiedzmy, że chciałbym go użyć w testach manualnych. Czy każdy krok (Given, When, Then) musi służyć do zaimplementowania kodu, który faktycznie przeprowadza test, czy np Given może służyć do konfigurowania testów? Chodzi mi o taki fragment kodu jako przykład:

public class StepDefinition {
private PatternSearch ps;
private String txt;

@ Given("Input pattern is {string}")
public void inputPatternIs(String arg0) {
ps = new PatternSearch(arg0);
}

@ When("Input text is {string}")
public void inputTextIs(String arg0) {
txt = arg0;
}

@ Then("Offset number is {int}")
public void offsetNumberIs(int arg0) {
assertEquals(arg0, ps.search(txt));
}
}

Wg. powyższego kodu jedynie krok Then wykonuje faktycznie jakiś test. Czy takie zastosowanie Cucumber jest poprawne?
#java #bdd #tdd #programowanie #naukaprogramowania
  • 7
@aloucie: Ok, ma to sens. Jeszcze, żeby potwierdzić, jest ok jeśli użyje się Given do konfiguracji tak jak w moim przykładzie, dodając do tego kod, który określiłem w Then?