gpt4 book ai didi

AngularJS 测试 : Jasmine mock callback

转载 作者:行者123 更新时间:2023-11-28 19:46:59 26 4
gpt4 key购买 nike

我有基本的 Angular JS 知识,但我对 Jasmine 单元测试还很陌生。我的问题如下:

我需要测试一个服务方法(来自 myService 的方法):

myService.method = function(args)
{
var parameter = "myParam";
anotherService.anotherMethod(parameter, function(result)
{
//Stuff to test using result
if(result == "blabla")
testFunction("param");

});
};

如何模拟 anotherService.anotherMethod 以返回结果并测试 myService.method 的其余部分?例如,我需要检查是否已使用“param”(使用 expect(myFunction)toHaveBeenCalledWith("param"))调用了 testFunction。

谢谢你的帮助

最佳答案

我想做的是为我的 AJAX 调用创建一个伪函数并使用它的一个参数:

spyOn(anotherService, 'anotherMethod').and.CallFake(function(){
//Get args : fake result of AJAX call and callback
var fakeResult = arguments[0];
var callback = arguments[1];
return callback(fakeResult);
});

关于AngularJS 测试 : Jasmine mock callback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29105613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com