【发布时间】:2015-04-19 04:12:42
【问题描述】:
我有一个组件,点击一个按钮就会调用一个flux action:
onSend(event) {
MessageActions.sendMessage(this.state.currentMessage);
};
现在,我希望测试基本上能够模拟按钮点击(我知道该怎么做)。
然后在按钮上单击检查以查看是否使用给定字符串调用了“MessageActions.sendMessage”函数。
如何从我的测试中访问 MessageActions?
我正在测试的对象称为 ChatMessage,但 MessageActions 是在 React.CreateClass 代码之外定义的。
我在我的测试中尝试过类似的东西:
var messageActions = require('myactions');
expect(messageActions.sendMessage).toBeCalled();
和
expect(ChatMessage.MessageActions.sendMessage).toBeCalled();
但没有任何效果,因为它只是说 MessageActions 未定义。
ReactJS 文档有一个(蹩脚的)测试商店的示例,但没有说明如何测试组件中使用的操作。
请帮忙
【问题讨论】:
标签: reactjs reactjs-flux flux jestjs