私はそのようなコンポーネントを持っている:Enzymeを使用して子コンポーネントメソッドをテストする方法は?
<Parent>
<Child/>
</Parent>
と<Child/>
コンポーネントは、メソッドfoo
を持っています。私はfoo
メソッドをテストしたいが、私はそれにアクセスする方法を知らない。私が試した:
mount(<Parent><Child/></Parent>).props().children.foo
または
mount(<Parent><Child/></Parent>).children().foo
が、それらはundefined
あるの両方を。 .instance()
はrootではないので使えません。 <Parent>
がcontext
に何か(react-routerのcontext.router
)を追加しているので、私は<Child/>
をマウントすることができず、init <Child/>
のときに必要となります。これにはどんな考えですか?
これはまだ不可能であるか、少なくとも複雑なものです:https://github.com/airbnb/enzyme/issues/361 – Leonardo
反応成分をツリーの下側でテストしてから作業してください。また、反応したルータ上のコンポーネントの依存関係を取り除くために、アンラップしたコンポーネントのバージョンをエクスポートしてテストします。 – therewillbecode