2017-10-05 24 views
0

我有一個組件調用Foorender功能是這樣的:酶 - 如何檢測組件是否使用shallow()方法呈現?

render() { 
    if (!this.props.something) { 
     return null; 
    } 

    return (
     <div> 
      <Bar /> 
      <Baz /> 
     </div> 
    ); 
} 

我想測試Foo部件,看是否div呈現:

test('is div rendered',() => { 
    const component = shallow(
     <Foo something={false} /> 
    ); 

    expect(component.find('div').at(0).exists()).toBeFalsy(); 
}); 

但測試結果在true 。我該如何測試,使用shallow渲染方法是否存在div

+0

嘿,我的回答是否解決了您的問題? @JoeTidee –

+0

我還沒有實現它。 – JoeTidee

回答

1

當你使用.find()。at()時,它會每次都返回一個對象。期望斷言應該是這樣的:

expect(component.find('div').node).toBe(undefined); 
+0

不錯!或'expect(component.find('div').length).toBe(0);' –

相關問題