我有如下组件
Class A extends Component {
function1() {
this.func2
}
func2() {
// returns some value
}
render() {
return() {
<div> {this.function1}
}
}
}
如何在react测试中直接调用func1,需要测试是否调用了func2。以前在酶中使用过的示例。
1条答案
按热度按时间c86crjj01#
如果我对你的问题理解正确,你需要做这些事情:
1.在测试中直接调用
function1()
,无需使用酶1.调用
function1()
时,需要测试是否调用了func2()
下面是你可以在你的组件的Jest测试文件中实现同样的效果。为了完全只使用Jest和React,一些替代方案是:
1.使用React Test Utils呈现组件
1.创建一个示例,然后调用函数
另外:
1.你可以使用来自同一个模块
react-dom/test-utils
的act()
,并将你的渲染 Package 在里面,为Assert和执行更新准备一个组件。这使你的测试运行更接近React在浏览器中的工作方式。1.您也可以阅读有关mock functions的内容以详细了解概念。