javascript - ava中连续异步测试步骤

标签 javascript testing fixtures ava

问题

人气ava包具有一个简单而强大的 javascript 测试框架:

import test from 'ava';

test('single step', t => {
    t.is('bar', 'bar');
    t.end();
});

同步代码的测试非常简单。但是,我不确定如何使用多个连续的依赖步骤编写测试。

例如,我想测试一个 REST API。我想使用 POST 创建资源,使用 GET 调用确保它存在,然后使用 DELETE 删除它。

不用说,顺序很重要:POST 调用必须在 GET 调用开始之前完成,有时我们甚至希望在步骤之间有一个休眠时间。

我尝试了什么

  • 尝试了一系列 setTimeout,其中每次调用的回调都是下一个测试步骤。这是相当不可读的。

我的问题

使用 ava 编写包含多个连续步骤的测试的正确方法是什么?

这些步骤是异步和连续的

最佳答案

如果您希望在单个测试中完成所有这些步骤,请确保您可以从请求库中获得 promise 。然后使用async/await

关于javascript - ava中连续异步测试步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44398176/

相关文章:

javascript - 我正在尝试将数字转换为相反的值,无论数字是正数还是负数

javascript - 如何在继续执行其他功能之前完全完成一项功能?

javascript - 无法使用 jQuery 访问 API

symfony - 使用 Behat 3、Doctrine 2 和 Symfony 2 测试数据库隔离

python - 在 Pytest 中测试具有许多固定装置/场景的单个单元测试用例

c++ - 使用参数化 SetUp()/TearDown() 进行参数化测试

javascript - 通过字符串访问本地范围的变量——除了 eval 之外还有什么?

ruby-on-rails - Rails 中的多个 fixture 集?

ruby-on-rails - 为我在 Rails 3 中进行集成测试的方法提供帮助

python - 如何将列表装置作为参数传递给 pytest.parametrize?