我正在用Jest和Enzyme为React.js应用程序编写测试 我使用Sinon.js来制作React组件的成员函数的间谍 其中一个问题是如何使用REST API调用来测试组件是否成功重定向。
class MyComponent extends Component {
...
componentWillReceiveProps(props) {
...
if (this.props.phase === 'LOADING' && props.phase === 'SUCCESS') {
// redirect codes here
}
}
handleClickMyButton() {
dispatch(action)
}
我的方法是
it ('Should be redirected', async () => {
const spyPromise = ? // spy promise to componentWillReceiveProps will be called with certain parameters.
const myComponentWrapper = wrapper.find(MyComponent)
// simulate click event codes here
const result = await spyPromise
// check if it is redirected via history object
})
但我不知道如何在这里制作spyPromise
。