0

ユーザーが存在しない場合にのみユーザーを追加する、JBehave での受け入れテスト用の「一般的な」ストーリーを書きたいと思います。「createUser」ストーリーは、受け入れテスト ケースそのものです。GivenStories「modifyUser」、「deleteUser」などで参照したいのですが、「createUser」ストーリーで既に存在するユーザーを追加したいときにエラーが発生したくありません。

「createUser」が必要な場合にのみ実行されるようにするにはどうすればよいですか? JBehave の「条件付きストーリー」の解決策が見つかりません。「createUser」のストーリーもべき等として書くことはできません。

4

1 に答える 1

1

これは JBehave 自体の問題ではありません。このレベルでは処理されません。次のようなシナリオが必要だと思います。

Given user "John" exists with ID 1234
When delete user request for ID 1234 was processed
Then no user entry for ID 1234 should exist

特定のステップへのバインド コード内でのみ、必要に応じてユーザーを確認して作成します (条件付き挿入操作を実行します)。これは、受け入れテスト レベルではなく、Java コード内で処理されます。次のようになります。

@Given("Given user \"$userName\" exists with ID $userId")
public void givenUserExistsWithId(String userName, int userId)
{
    if (!persistence.existsUser(userId))
    {
        persistence.createUser(userId, userName);
    }
}

そうすれば、シナリオはクリーンになり、コードは特定の状態が実行された後に期待される状態を保証します。

于 2013-02-17T15:14:43.143 に答える