1

我正在对 API 进行一系列简单的测试:

  1. 创建一个用户资源POST
  2. 请求用户资源GET
  3. 删除用户资源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 中创建顺序测试的正确方法?

4

1 回答 1

1

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

于 2016-07-11T12:09:32.037 回答