如何在玩笑中处理外部组件中的全局 jquery
How to handle global jquery in external components in jest
我需要测试 React 组件,这些组件依赖于一些需要全局 jquery 实例的遗留代码。通过我们的 webpack/karma/mocha 设置,我们可以这样设置:
new webpack.ProvidePlugin({'$':'jquery' })
有没有办法为笑话做同样的事情?
我完全知道在我的测试中模拟出依赖关系,但我正在寻找更通用的解决方案。那么有没有一种方法可以将 Jest 与 webpack 一起使用以获得相同的行为。
最简单的方法就是像这样覆盖它:
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 };
因此,只需将其替换为仅包含您需要在模块中使用的功能的模拟即可。
我需要测试 React 组件,这些组件依赖于一些需要全局 jquery 实例的遗留代码。通过我们的 webpack/karma/mocha 设置,我们可以这样设置:
new webpack.ProvidePlugin({'$':'jquery' })
有没有办法为笑话做同样的事情?
我完全知道在我的测试中模拟出依赖关系,但我正在寻找更通用的解决方案。那么有没有一种方法可以将 Jest 与 webpack 一起使用以获得相同的行为。
最简单的方法就是像这样覆盖它:
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 };
因此,只需将其替换为仅包含您需要在模块中使用的功能的模拟即可。