我需要测试对某些需要全局jquery实例的遗留代码具有依赖性的反应组件。通过我们的webpack / karma / mocha设置,我们可以将其设置为:
new webpack.ProvidePlugin({'$':'jquery' })
有没有办法为开玩笑做同样的事情?
我完全知道在我的测试中嘲笑依赖项,但我正在寻找更通用的解决方案。那么有没有办法使用Jest与webpack具有相同的行为。
答案 0 :(得分:0)
最简单的方法就是像这样覆盖它:
const ajax = jest.fn((options) => {
if (/\/successPath/.test(options.url)) {
return options.success('someData', '', { status: 200 });
}
return options.error({ status: 404, responseText: 'someError' });
});
global.$ = { ajax: ajax };
所以只需用一个模拟替换它,只需保存模块中需要使用的功能。