Reactjs 在jest/Ezyme中使用if条件基于状态测试div
我使用Jest/Enzyme测试我的react组件,但无法覆盖if语句中的行。是否有办法测试状态并显示Reactjs 在jest/Ezyme中使用if条件基于状态测试div,reactjs,enzyme,jestjs,Reactjs,Enzyme,Jestjs,我使用Jest/Enzyme测试我的react组件,但无法覆盖if语句中的行。是否有办法测试状态并显示div?默认情况下,pageload将为false,数据获取后将更改为true render(){ if (this.state.pageload) { return (<div className="emptyMessage"><span>Empty text</span></div>); } } render(){
div
?默认情况下,pageload
将为false
,数据获取后将更改为true
render(){
if (this.state.pageload) {
return (<div className="emptyMessage"><span>Empty text</span></div>);
}
}
render(){
if(this.state.pageload){
返回(空文本);
}
}
测试代码:
it('Checks page loading', () => {
const myContainer = mount(<MuiThemeProvider>
<IntlProvider locale="en">
<MyContainer.WrappedComponent {...props } text={text} tools={tools} />
</IntlProvider></MuiThemeProvider>);
myContainer.setState({ pageload: true });
myContainer.update();
expect(myContainer.state().pageload).to.equal(true);
expect(myContainer.find('div').length).toBe(1);
expect(toJson(myContainer)).toMatchSnapshot();
});
it('检查页面加载',()=>{
常量myContainer=挂载(
);
设置状态({pageload:true});
myContainer.update();
expect(myContainer.state().pageload).to.equal(true);
expect(myContainer.find('div').length).toBe(1);
expect(toJson(myContainer)).toMatchSnapshot();
});
您已将变量声明为myContainer
。但您在其他任何地方都在使用MyContainer。请更正此问题。请发布您目前为止的测试代码。更新了代码。。哪个expect
失败?前两个expect失败。谢谢,我已编辑。忘记更新了。但问题仍然存在。