0

この質問はRESTに関するものではなく@When、後続ので行われた呼び出しからの戻り値の使用に関するもの@Thenです。

JBehaveを使用してRESTAPIへの呼び出しをテストすることを検討しています。まずpost、ユーザーを作成するためのがあります

When I create a user with name Charles Darwin

私はRESTを理解しており、これがAtom APIの機能であるため、IDはロケーションヘッダーで返され/user/22ます。それで、私は応答について何かを主張したいと思います。

Then user was created with a valid Id

これを行うには、Stepsクラスにメンバー変数を作成し、そこに応答を格納します。以前はこのアプローチを使用していましたが、これは正しい方法ですか?

4

1 に答える 1

1

はい。@Thenメソッドでアサートできるデータを保存する必要があります。これを行う最も簡単な方法は、メンバー変数を使用することです。ただし、これは、@ When /@Thenが同じStepsクラスにある必要があることを意味します。これを行う別の方法は、すべてのステップで使用する共有データオブジェクトを用意し、それを1つのメソッドで設定して、別のメソッドで取得できるようにすることです。Map<String,? extends Object>一般的なものが必要な場合は、一般的なデータオブジェクトとしてを実行できます。また、複数のスレッドで実行する場合は、データオブジェクトをThreadLocalでラップします。

これが私が見たものです。データオブジェクトは、@ BeforeScenario /@AfterScenarioメソッドを使用してセットアップ/クリアする必要があります。

于 2012-03-16T16:09:06.393 に答える