有什么方法可以确保 frisby.js 测试 API 调用按顺序进行?

Any way to ensure frisby.js test API calls go in sequential order?

我正在 API:

上尝试一系列简单的测试
  1. 使用 POST
  2. 创建用户资源
  3. 请求用户资源 GET
  4. 删除带有 DELETE
  5. 的用户资源

我有一个飞盘测试规范文件 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();

非常基本的东西,对吧。但是,据我所知,不能保证它们会按顺序执行,因为它们是异步的,所以如果用户在他们 [=35= 时不存在,我可能会在测试 2 或 3 上得到 404 ].

有谁知道在 Frisby 中创建顺序测试的正确方法吗?

正如您正确指出的那样,Frisby.js 是异步的。有几种方法可以强制它更同步地 运行。最简单但不是最干净的是使用 .after(() -> ... 您可以在 Fisby.js docs.[=13 中找到有关 after() 的更多信息=]