我有一个使用vue-cli 3.0创建的Vue TS项目。
这是我要测试的功能:
public hopJavascript(url: string) {
eval(url);
}
这是我使用Jest框架的测试功能:
test('navigation using javascript', () => {
const url = "someurl";
hopJavascript(url);
expect(eval).toBeCalled();
});
现在我收到此消息test failed console logging,它告诉我我需要模拟的eval版本。
我如何模拟评估?
答案 0 :(得分:0)
更新
似乎您不能总是根据您的JS环境(浏览器或节点)覆盖eval。有关更多信息,请参见"How override eval function in javascript?"的答案
原始答案
我认为您可以在测试文件中重新定义 eval
:
global.eval = jest.fn()
答案 1 :(得分:0)
您需要使用spyOn()跟踪函数。
此解决方案应为您工作。
{{1}}