【发布时间】:2017-04-22 11:11:27
【问题描述】:
我已经将这个 webpack 配置作为我繁重的构建过程的一部分:
module.exports = {
options: {
output: {
path: path.resolve('../ui/static/js'),
filename: '[name].js',
chunkFilename: '[id].[name].js',
libraryTarget: 'amd',
library: '[name]'
},
externals: [
'jquery',
'lodash',
'backbone',
'backbone.layoutmanager',
'moment',
'spin',
'lib/select2.min',
'dispatcher'
],
resolve: {
root: path.resolve('../ui'),
alias: {
'jst': 'static/jst'
}
}
我们现在开始做出反应,我需要在我的测试文件中导入一些文件,其中包含这些依赖项,但是我找不到它们:
Cannot find module 'lib/select2.min' from 'helpers.js'
Cannot find module 'jst/templates_jst' from 'base-view.js
解决此问题的正确方法是什么?
【问题讨论】:
-
您是否尝试过使用安装文件并导入这些包并附加到
global? -
是的。它在我的模板上失败了,它包含在 webpack 中,如下所示:
resolve: { root: path.resolve('../ui'), alias: { 'jst': 'static/jst' } }我开玩笑说:Cannot find module 'jst/templates_jst' from 'base-view.js' -
我可以通过将 spin、jquery、backbone 添加到
__mocks__文件夹来防止错误,但我不知道如何处理jst/templates_jst -
另一种可能是使用虚拟模拟
jest.mock('jst/templates_jst', () => {}, {virtual: true})
标签: javascript unit-testing reactjs webpack jestjs