【发布时间】:2019-10-13 00:55:25
【问题描述】:
我需要测试一个在浏览器中打开新标签的功能
openStatementsReport(contactIds) {
window.open(`a_url_${contactIds}`);
}
我想模拟窗口的 open 函数,以便验证正确的 URL 是否传递给 open 函数。
使用 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]
我应该对测试用例做什么?
【问题讨论】:
-
有没有计划将stackoverflow.com/a/56999581/9888500 设置为接受的答案?
标签: javascript mocking jestjs