Reactjs 开玩笑的反应测试,酶表现异常
我正在建立单元测试,用Jest和酶测试反应成分。不知怎的,我的设置工作得很奇怪。当被测试的组件在测试文件中时,一切都正常工作,但当它被导入时,就不正常了Reactjs 开玩笑的反应测试,酶表现异常,reactjs,unit-testing,jestjs,enzyme,Reactjs,Unit Testing,Jestjs,Enzyme,我正在建立单元测试,用Jest和酶测试反应成分。不知怎的,我的设置工作得很奇怪。当被测试的组件在测试文件中时,一切都正常工作,但当它被导入时,就不正常了 wrapper.debug()只将作为输入提供的内容输出到mount(),而不是返回组件应该呈现的JSX 我的测试组件(TestComponent.js) 什么是输出: 从“../TestComponent”导入TestComponent; log(TestComponent)` ? 它必须与在同一文件中声明的第二处相同: 类TestCom
wrapper.debug()
只将作为输入提供的内容输出到mount()
,而不是返回组件应该呈现的JSX
我的测试组件(TestComponent.js)
什么是输出:
从“../TestComponent”导入TestComponent;
log(TestComponent)`
?
它必须与在同一文件中声明的第二处相同:
类TestComponent扩展了React.Component{
render(){
...
}
}
log(TestComponent)`
如果未定义或不相等,请检查真正导入的内容。可能与文件名或语法有一些混淆
编辑:问题作者通过禁用package.json中jest的
automock
值(在注释中)解决了问题。感谢@oklas的回复。输出console.log(TestComponent);这是:{[Function:TestComponent]\u isMockFunction:true,getMockImplementation:[Function],mock:[Getter/Setter],mockClear:[Function],mockReset:[Function],mockReturnValueOnce:[Function],mockImplementationOnce:[Function],mockImplementationOnce:[Function],mockReturnThis:[Function],mockRestore:[Function]}在这两种情况下(从导入和从本地实例)是否相等?谢谢Oklas。你的回答帮助了我。当我在package.json文件中设置automock:false时,它工作了。我很高兴。欢迎来到stackoverflow。若你们觉得答案有帮助,你们可以按上三角来投票。(尚未提供给您)如果您收到问题的答案,您需要挑选最优秀的答案,并通过答案旁边的[v]按钮将其标记为答案。谢谢Oklas。有空的时候我会做的。
import React from 'react';
export default class TestComponent extends React.Component {
render() {
return (
<div>Hello</div>
)
}
}
import React from 'react';
import {mount, shallow} from 'enzyme';
import TestComponent from '../TestComponent';
test('should test my test component', () => {
const wrapper = global.mount(<TestComponent />);
console.log("console print:",wrapper.debug());
expect(wrapper.find('div').length).toEqual(1);
});
console print: