如何使用React包装器测试window.location.assign?

时间:2019-04-09 18:53:52

标签: reactjs enzyme

我有一个react组件,它根据 somecondition 的值导航到其他页面。例如:

if (somecondition) {
 window.location.assign('some link')}
}

我该如何使用enzyme包装器测试此某种条件

1 个答案:

答案 0 :(得分:2)

使用酶和玩笑,您的测试可能如下所示:

test('should redirect', () => {
  // SETUP
  window.location.assign = jest.fn()

  // EXECUTE
  const wrapper = shallow(<Component {...props} />)
  wrapper.instance().callYourFunction()

  // VERIFY
  expect(window.location.assign).toHaveBeenCalled()
  window.location.assign.mockClear()
})