1
私はAPIでテストの簡単なシーケンスをしようとしている:frisby.jsテストAPIの呼び出しを確実にする方法は、順番に行われますか?
- は
DELETE
で削除
- リクエストでユーザーリソースを
GET
- を持つユーザーのリソースをユーザーリソースを作成します。
POST
フリスビーテスト仕様ファイルmytest_spec.js
が1つあります。
f1 = frisby.create("Create");
f1.post(post_url, {user_id: 1});
f1.expectStatus(201);
f1.toss();
// stuff...
f2 = frisby.create("Get");
f2.get(get_url);
f2.expectStatus(200);
f2.toss();
//Stuff...
f3 = frisby.create("delete");
f3.get(delete_url);
f3.expectStatus(200);
f3.toss();
右かなり基本的なもの、私は3つの離散的なステップ、自分のtoss()
等とのそれぞれにテストを分けました。しかし、彼らが非同期である限り、彼らが実行できる保証はありません。したがって、実行時にユーザーが存在しなければ、テスト2または3で404を取得する可能性があります。
誰かがFrisbyで順次テストを作成する正しい方法を知っていますか?
はい、連鎖している非自明な流れは、「後で」は乱雑で速くなります。テストのために事前作業を強制的に実行するための他のオプションはありますか(実際にテストする必要はありませんが、テストのためにセットアップする必要があります)。これにより、After()の連鎖があまり長くならなくなります。 – Ray
はい、テストのセットアップの場合 - 実行する前にアカウント登録が必要な 'scenario_spec.coffee'があるとしましょう。それで 'env.coffee'ファイルを準備して、あなたの登録を行います。最後に、 'scenario_spec.coffee'の最初に' env = require "./env"を初期化すると、あなたのケースの前にセットアップ(登録)が実行されることを確信しています。 – Slavo