10
如何使用Jest模拟JavaScript窗口对象?
我需要测试一个在浏览器中打开新标签页的功能 openStatementsReport(contactIds) { window.open(`a_url_${contactIds}`); } 我想模拟窗口的open功能,以便验证传递给该open功能的URL是否正确。 使用Jest,我不知道该如何模拟window。我尝试window.open使用模拟功能进行设置,但是这种方式不起作用。下面是测试用例 it('correct url is called', () => { window.open = jest.fn(); statementService.openStatementsReport(111); expect(window.open).toBeCalled(); }); 但这给了我错误 expect(jest.fn())[.not].toBeCalled() jest.fn() value must be a mock function or spy. Received: function: [Function anonymous] 我应该对测试用例怎么办?任何建议或提示表示赞赏。
104
javascript
mocking
jestjs