我在API上尝试了一系列简单的测试:
POST
GET
DELETE
我有一个frisby测试规范文件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();
非常基本的东西,对。但是,我无法保证他们会按顺序执行,因为他们是异步的,所以如果用户不存在,我可能会在测试2或3上获得404他们跑的时间。
有谁知道在Frisby中创建顺序测试的正确方法?
答案 0 :(得分:1)
正如您正确指出的那样, Frisby.js 是异步的。有几种方法可以强制它更加同步运行。最简单但不是最干净的是使用.after(() -> ...
您可以在 Fisby.js docs中找到有关after()
的更多信息。