【发布时间】:2017-07-03 20:50:04
【问题描述】:
我有一个这样的组件:
<Parent>
<Child/>
</Parent>
和<Child/> 组件有一个方法foo。我想测试foo 方法,但我不知道如何访问它。我试过了:
mount(<Parent><Child/></Parent>).props().children.foo
或
mount(<Parent><Child/></Parent>).children().foo
但他们都是undefined。我不能使用.instance(),因为它不是root。我无法挂载<Child/>,只是因为<Parent> 在context 上添加了一些东西(react-router 的context.router),并且在初始化<Child/> 时我需要它们。有什么想法吗?
【问题讨论】:
-
这似乎仍然不可能或至少很复杂:github.com/airbnb/enzyme/issues/361
-
在向上工作之前测试树中较低的反应组件。还要导出组件的解包版本以进行测试,以消除组件对反应路由器的依赖。
-
+1 关于编写反应规范最烦人的事情,我不明白你如何为反应编写规范框架并且没有一种简单的方法来访问子组件的实例。哑巴。
标签: javascript reactjs react-router enzyme