我正在尝试在玩笑测试中模拟组件。 我创建了一个简单的模拟文件: /app/javascript/src/svgImportMock.js
var React = require('react')
module.exports = function(){
console.log('I\'m being called');
return <div />;
}
在我的jest配置文件中,我有:
{
...
"moduleNameMapper": {
"(InputWithLabel)$": "<rootDir>/app/javascript/src/svgImportMock.js",
"^react-native$": "react-native-web"
},
...
}
最后,我开玩笑的测试是使用InputWithLabel: app / javascript / src / components / Input / InputWithLabel / index.test.js
import React from 'react'
import { shallow } from 'enzyme'
import InputWithLabel from './index'
describe('<InputWithLabel />', () => {
it('renders given the required props', () => {
const component = shallow(<InputWithLabel {...requiredProps} />)
expect(component).toMatchSnapshot()
})
})
不幸的是,它正在加载实际的InputWithLabel组件,而不是模拟组件。没有显示console.log。
我正确配置了moduleNameMapper吗?