我正在尝试对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中创建顺序测试的正确方法?

最佳答案

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

09-10 20:35