Есть ли способ убедиться, что вызовы API теста frisby.js идут в последовательном порядке?

Я пробую простую последовательность тестов на API:

  1. Создайте пользовательский ресурс с POST
  2. Запросить ресурс пользователя с GET
  3. Удалить пользовательский ресурс с DELETE

У меня есть один файл спецификации теста Фрисби mytest_spec.js, Я разбил тест на 3 отдельных этапа, каждый со своим toss() лайк:

    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();

Довольно простые вещи, верно. Тем не менее, нет никакой гарантии, что они будут выполняться по порядку, насколько я могу судить, поскольку они асинхронны, поэтому я мог бы получить 404 на тесте 2 или 3, если пользователь не будет существовать к моменту запуска.

Кто-нибудь знает правильный способ создания последовательных тестов в Фрисби?

1 ответ

Решение

Как вы правильно заметили, Frisby.js является асинхронным. Есть несколько подходов, чтобы заставить его работать более синхронно. Самый простой, но не самый чистый - использовать .after(() -> ... Вы можете найти больше о after() в документах Fisby.js.

Другие вопросы по тегам