我在角度和代码覆盖范围内测试指令我需要进入传递给remove函数的第二个参数的函数:
Myservice.remove(param1, function() {
//test contents of this..
});
然而Myservice
被模拟,remove
函数是间谍:
myservice = {
remove: jasmine.createSpy('Myservice.remove')
}
我已尝试callThrough()
和callFake()
但我相信这些更多只是返回删除的结果,而不是覆盖参数功能,所以我自然没有区别。
所以在我的测试中我有以下内容:
it('should do something', function() {
// generic directive setup
expect(myservice.remove).toHaveBeenCalled();
});
这是有效的,测试通过了,但是我无法覆盖参数中的那个功能,任何想法如何进行?
答案 0 :(得分:0)
答案是使用正确的参数调用伪函数然后调用其中的函数。
newWindow.document.write("<img src='" + image +"' style='width: 100%;height:500px;'>");
相同的测试通过,但现在覆盖范围完全覆盖了作为参数传入的函数。