首页 文章

确保frisby.js测试API调用的任何方式都按顺序进行?

提问于
浏览
1

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

1 回答

  • 1

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

相关问题