使用酶检查反应“选择”的选择值

时间:2019-03-10 15:59:40

标签: reactjs enzyme

我已经检查了文档,并且看来这是您使用来查看选择(下拉组合框)的选定值的方式:

let select = wrapper.find('select');
expect(select.props().value).toBe('SELECTED_VALUE');

但这不是我从 select.props()。value 中得到的。

我的 select.props()。value 是一个很大的json对象,看起来像某种组件。

我如何获得价值?

1 个答案:

答案 0 :(得分:0)

好的,我只是看了一下,看来我必须这样写:

let select = wrapper.find('select');
expect(select.props().value.target.value).toBe('SELECTED_VALUE');

这看起来有点丑陋:/

还有更好的东西吗?

更新:

好的,我现在意识到自己有点傻。当我提交变更事件时,我实际上是在提交组件本身作为值。这就是为什么value.target.value对我有用的原因。意识到我的错误后,它又可以正常工作。

简而言之,是的,正确的方法是:

let select = wrapper.find('select');
expect(select.props().value).toBe('SELECTED_VALUE');

只需确保您知道更改事件中要发送的内容即可。