2016-12-12 5 views
0

私はAutoCompleteコンポーネントをベースにしてReactコンポーネント(UserAutocomplete)を作成しています。私AutoComplete成分がEnzymeで依存関係コンポーネントを取得するには?

render(
    <input type='text' class='autocomplete'/> 
); 

そして、私のUserAutoCompleteは次のとおりです。

import Autocomplete from './autocomplete'; 

render(
    <Autocomplete {...this.props} /> 
); 

そしてEnzyme + Jestでテストを作成するが、私はfind機能でinputを得るとき、nullを返しています。

it('test defaultValue prop',() => { 
    const wrapper = shallow(
     <UserAutocomplete/> 
    ); 

    console.log(wrapper.find('input')); // returning null 
}); 

この入力が子コンポーネント内にある場合は、その入力を受け取る方法はありますか?

答えて

1

shallowレンダリングでは1つ下のレベルがレンダリングされません(したがって、浅い)。だから、代わりにinput、あなたはAutoCompleteコンポーネントを検索することができます。

it('test defaultValue prop',() => { 
    const wrapper = shallow(
     <UserAutocomplete/> 
    ); 

    console.log(wrapper.find('AutoComplete')); // returning null 
}); 

あなたはより多くの深さにレンダリングしたい場合は、代わりにmountを使用する必要があります。

+0

ありがとうございました!は働いている! – Lai32290

関連する問題