如何在 Create React App 中使用 Enzyme 和 Jest 从挂载的组件中读取 console.log

Bra*_*ggs 4 javascript reactjs jestjs enzyme create-react-app

我有一个正在安装 Enzyme 的组件。在组件的构造函数中定义了一个对象。我需要读取该对象内的值。我该怎么做呢?如果我使用浏览器,我会在构造函数或其他函数中使用 console.log(this.object.property) 。在 Jest 中,这似乎不起作用。我尝试通过以下方式在我的 test() 函数中运行 console.log:

console.log(wrapper.instance().object)
Run Code Online (Sandbox Code Playgroud)

但它只向我展示了对象的默认道具。
我更喜欢的方法是在组件的任何地方查看 console.log。有没有办法启用它?否则,访问 Enzyme 中渲染组件的属性的最佳方法是什么,以便我可以在我的 test() 函数之一中执行 console.log?

Mwi*_*ert 11

您可以使用 console.log(wrapper.debug());


Sub*_*ndu 7

添加--verbose false将解决该问题。
package.json 中的测试行应类似于:
"test": "react-scripts test --env=jsdom --verbose=false",

就像Jest 建议的 Console.log 语句不输出任何内容一样。