Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

把 getComponent 定义在组件上 #33

Merged
merged 1 commit into from
Dec 2, 2016

Conversation

yesmeck
Copy link
Member

@yesmeck yesmeck commented Dec 1, 2016

这样调整可以方便写 Trigger 的测试,以 rc-select 的测试为例:

const wrapper = mount(
  <Select>
    <Option value="1">1</Option>
  </Select>
);

wrapper.find('.rc-select').simulate('click');
// 现在是找不到 MenuItem 的,因为被渲染到另外一个 container 上去了
wrapper.find('MenuItem');

如果把 getComponent 定义成 Trigger 的实例方法,就可以这样做:

// 首先 mock 掉 ReactDOM 的 `unstable_renderSubtreeIntoContainer`
// 然后就可以自己手工去 mount Trigger 里的组件

const dropdownWrapper = mount(wrapper.find('Trigger').node.getComponent());
dropdownWrapper.find('MenuItem'); // 可以正常找到了。

这个 PR 需要先合并 react-component/util#8

@coveralls
Copy link

Coverage Status

Coverage decreased (-29.9%) to 48.077% when pulling ec82480 on yesmeck:master into a6db35e on react-component:master.

@yesmeck
Copy link
Member Author

yesmeck commented Dec 2, 2016

@yiminghe

@yiminghe yiminghe merged commit bc897b9 into react-component:master Dec 2, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants