【发布时间】:2017-11-11 20:03:14
【问题描述】:
所以我正在使用 React 并使用 Mocha/Chai/Enzyme/Sinon 进行测试。我的组件中有很多异步调用,我想测试后面的代码,但不知道怎么做。
例如,这是我的 AddToCart 组件中的 reserveSession() 方法:
reserveSession() {
this.props.reserveExam(id).then((json) => {
// Code I want to test
}).catch(...);
}
这是我测试的当前设置:
describe('AddToCartButton', () => {
beforeEach(() => {
props = {
// set all props to empty or () => null
}
wrapper = mount(<AddToCartButton {...props} />)
});
});
所以到目前为止我发现的是,当我在每个之前模拟 this.props.reserveExam 时,由于它从不调用实际函数,它从不调用 then 中的代码,但如果我只是调用该方法不明白 then 是什么。关于如何测试这个的任何想法?谢谢!
【问题讨论】:
标签: node.js unit-testing reactjs asynchronous mocha.js