Java コードの量を最小限に抑えるために、非常に単純な方法でBDDを使用しようとしています。ちょうど 2 つのファイルを作成したいのですが、1 つは私のストーリーです。
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);
}
}
以上です。これ以上ファイルや単体テストは必要ありません。ストーリー ファイルを見つけて、すべての Java ファイルを解析し、それらを 1 つずつ実行する BDD フレームワークが必要です。達成することは可能ですか?
ps。ここで重要なのは、他の記事で Java メソッドを再利用できる可能性があることです。たとえば、これはストーリー No.2 です。
Given user is named "Michael Doe" <-- reuse
When user adds $100.00 to his account
Then user account balance is $100.00