【发布时间】:2017-12-30 00:10:27
【问题描述】:
我正在使用 Jest.js 测试生成器函数,但我的问题通常是关于模块内的模拟函数。
Foo.js 有:-
const Foo = {
callMe() {
return true;
},
callMe2() {
return true;
}
};
export default Foo;
在我的 Jest 测试中,我希望 Foo.callMe 抛出一个错误,但我无法让它与 Jest 模拟一起使用。
import Foo from '../Foo';
it('fails my generator function', () => {
const gen = myGenFunction();
expect(gen.next().value).toEqual(call(Foo.callMe));
});
生成器函数如下所示:
export function* myGenFunction(action) {
try {
const response = yield call(Foo.callMe);
console.log('Success');
} catch(err) {
console.log('Error!!!');
} finally {
// do something else
}
}
如何让Foo.callMe 抛出错误?我已经尝试了一些东西,但到目前为止没有任何效果。
【问题讨论】:
标签: javascript unit-testing mocking jestjs