如何在角度单元测试中测试第三方库函数

时间:2016-07-04 09:37:30

标签: angularjs unit-testing jasmine printf karma-jasmine

我正在使用karma和jasmine进行角度单位测试来测试角度服务。 在我的服务中,我使用了sprintf-js模块的sprintf()来获取生成字符串。现在,当我尝试测试服务时,它会提供错误sprintf未定义

代码是这样的:

myservice.js

abc(a,b){
var url = sprintf(a,b);
ajax.get(url);
}

myservice.spec.js :我已将myservice注入此文件并使用它 -

myservice.abc(dummya, dummyb);

$rootScope.$appy();

expect(myservice.abc).toHaveBeenCalled();

Any help appreciated .

1 个答案:

答案 0 :(得分:0)

要使第三方库在测试中正常运行,请将它们添加为服务的依赖项。

angular.module('my-defined-module-name').constant('sprintf',window.sprintf)

angular.service('my-service',['sprintf',function(sprintf){

}])