我对React Native和Javascript很陌生,我目前正在尝试测试我的组件内部的方法,我已经看到这样做与使用酶类似
const wrapper = shallow(<Component/>);
wrapper.instance().methodIwannaCall();
来自iOS Dev世界,我很难理解为什么在获取类的实例并在其上调用方法时看起来如此复杂。
不幸的是我使用了React 16.0.0-alpha.12
,这意味着我现在无法使用Enzyme
,这似乎是每个人都在用来完成我需要的库。
另外请注意,我没有使用Redux,我怀疑如果我使用Redux,这将不那么痛苦,因为这样我的所有业务逻辑都将在行动中,因此更容易测试
非常感谢任何评论/帮助。
干杯
答案 0 :(得分:0)
您可以使用纯ReactTestUtils
来获取组件的实例,例如使用renderIntoDocument方法:
import ReactTestUtils from 'react-dom/test-utils';
const wrapper = ReactTestUtils.renderIntoDocument(<Component/>);
wrapper.methodIwannaCall();