Я пытаюсь использовать BDD очень простым способом, чтобы свести к минимуму количество Java-кода. Я хочу создать ровно два файла, один из них - моя история:
Given user is named "John Doe"
And user is authenticated
When user changes his password to "a1b2c3"
Then user password equals to "a1b2c3"
Далее я создаю класс Java:
public class UserManipulator {
@Given("$user is named $name")
public User shouldExistOrBeCreated(String name) {
User user = //...
return user;
}
@Given("$user is authenticated")
public void shouldBeLoggedIn() {
// ...
}
@When("$user changes his password to $pwd")
public void shouldChangePassword(User user, String pwd) {
// ...
}
@Then("$user password equals to $pwd")
public void shouldHaveThisPassword(User user, String pwd) {
assertEquals(user.getPassword(), pwd);
}
}
И что это. Я не хочу иметь больше файлов, больше тестов модулей. Я хочу, чтобы некоторые BDD-рамки находили мой файл истории, разбирали все мои файлы Java и запускали их один за другим. Можно ли достичь?
пс. Здесь важны возможные повторное использование методов Java в других моих историях. Например, это история №2:
Given user is named "Michael Doe" <-- reuse
When user adds $100.00 to his account
Then user account balance is $100.00