如何构建异步函数的测试?

2024-01-01

我习惯于使用标准 NodeJ 编写 Mocha 测试assert像这样的库:

describe('Some module', () => {
   var result = someCall();
   it('Should <something>', () => {
      assert.ok(...);
   });
})

但现在我的电话返回了一个承诺......所以我想写:

describe('Some module', async () => {
   var result = await someCall();
   it('Should <something>', () => {
      assert.ok(...);
   });
})

但它不起作用。我的测试根本不运行。奇怪的是,

describe('Some module', async () => {
   it('Should <something>', () => {
      var result = await someCall();
      assert.ok(...);
   });
})

工作正常,但问题是我想进行一次调用并对其运行许多测试,所以我想在 it() 调用之外进行调用

我该如何让它发挥作用?

and please不推荐柴。我想使用标准断言库


before接受一个async函数,这样你就可以得到result在测试运行之前并在测试中使用它,如下所示:

const assert = require('assert');

const someCall = () => Promise.resolve('hi');

describe('Some module', () => {
  let result;

  before(async () => {
    result = await someCall();
  });

  it('Should <something>', () => {
    assert.equal(result, 'hi');  // Success!
  });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何构建异步函数的测试? 的相关文章

随机推荐