Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 开玩笑的反应测试,酶表现异常_Reactjs_Unit Testing_Jestjs_Enzyme - Fatal编程技术网

Reactjs 开玩笑的反应测试,酶表现异常

Reactjs 开玩笑的反应测试,酶表现异常,reactjs,unit-testing,jestjs,enzyme,Reactjs,Unit Testing,Jestjs,Enzyme,我正在建立单元测试,用Jest和酶测试反应成分。不知怎的,我的设置工作得很奇怪。当被测试的组件在测试文件中时,一切都正常工作,但当它被导入时,就不正常了 wrapper.debug()只将作为输入提供的内容输出到mount(),而不是返回组件应该呈现的JSX 我的测试组件(TestComponent.js) 什么是输出: 从“../TestComponent”导入TestComponent; log(TestComponent)` ? 它必须与在同一文件中声明的第二处相同: 类TestCom

我正在建立单元测试,用Jest和酶测试反应成分。不知怎的,我的设置工作得很奇怪。当被测试的组件在测试文件中时,一切都正常工作,但当它被导入时,就不正常了

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: