Fed*_* E. 3 mocha.js node.js chai
我已经搜索了如何解决这个问题,但我测试的所有解决方案都不适用于我的情况。
我有一个返回承诺的函数,我正在尝试使用 Mocha 和 Chai 进行测试。
我正在模糊参数,所以函数总是返回:
拒绝('拒绝原因')
这是我尝试运行的测试:
describe('fuzzing tokenization with 1000 invalid values', () => {
it('should throw an error - invalid value', async () => {
for(var i=0; i <= 1000; i++){
var req = {
body: {
value: fuzzer.mutate.string('1000000000000000')
},
user: {
displayName: user
}
};
expect(await tokenizer.tokenize(req)).to.throw(Error);
}
});
});
Run Code Online (Sandbox Code Playgroud)
测试失败:
错误:字符串“无效值”。被抛出,抛出一个错误:)
我测试了几个变化,比如将期望包装成一个函数
expect(async () => { ...}).to.throw(Error);
和其他我发现谷歌搜索。但我无法让它发挥作用。
我错过了什么?
lle*_*eon 10
expect().to.throw(Error)仅适用于同步功能。如果您想要使用异步函数的类似功能,请查看chai-as-promised
import chaiAsPromised from 'chai-as-promised';
import chai from 'chai';
chai.use(chaiAsPromised)
var expect = chai.expect;
describe('fuzzing tokenization with 1000 invalid values', () => {
it('should throw an error - invalid value', async () => {
for (var i = 0; i <= 1000; i++) {
var req = {
body: {
value: fuzzer.mutate.string('1000000000000000')
},
user: {
displayName: user
}
};
await expect(tokenizer.tokenize(req)).to.eventually.be.rejectedWith(Error);
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6659 次 |
| 最近记录: |