Есть ли способ убедиться, что вызовы API теста frisby.js идут в последовательном порядке?
Я пробую простую последовательность тестов на API:
- Создайте пользовательский ресурс с
POST
- Запросить ресурс пользователя с
GET
- Удалить пользовательский ресурс с
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.