跳至正文

jest/no-done-callback 样式

用途

此规则检查钩子和测试的函数参数,以使用 done 参数,建议你改为返回一个 promise。

为什么这样做不好?

在钩子和测试中调用异步代码时,jest 需要知道异步工作在何时完成,才能继续当前运行。最初,实现此目的最常见的模式是使用回调

javascript
test("the data is peanut butter", (done) => {
  function callback(data) {
    try {
      expect(data).toBe("peanut butter");
      done();
    } catch (error) {
      done(error);
    }
  }

  fetchData(callback);
});

然而,这可能很容易出错,因为它要求仔细理解断言在测试中如何工作,否则测试将无法按预期运行。

示例

javascript
beforeEach((done) => {
  // ...
});

test("myFunction()", (done) => {
  // ...
});

test("myFunction()", function (done) {
  // ...
});

参考

在 MIT 许可下发布。