我有一个react组件,可能会导致呈现两个重定向之一,例如:
render () {
if(condition) {
return <Redirect to={'page1'} />
} else {
return <Redirect to={'page2'} />
}
}
在酶测试中,我发现了如何测试是否正在呈现重定向:
expect(page.find('Redirect').length).toEqual(1)
但是我不确定如何配置测试以便我可以测试正在呈现哪些重定向。根据酶find文档,不可能使用find来定位标签以及属性,这使我相信我会以错误的方式解决这个问题。
答案 0 :(得分:4)
您应该能够执行以下操作:
expect(page.containsMatchingElement(<Redirect to="page1" />)).toEqual(true)
这将允许您断言在正确的情况下呈现正确的重定向
或者,如果在安装组件时添加了更多道具,您可以执行以下操作:
page.find('Redirect').debug()
并使用RegExp手动匹配属性。