如何使用Sinon.js检查函数是否在一段时间后被调用

时间:2017-03-16 05:58:02

标签: unit-testing reactjs ecmascript-6 sinon jestjs

我正在用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

0 个答案:

没有答案