我正在使用 jasmine 为 Angular 应用程序编写测试用例。但是许多内部方法在服务中被声明为私有(private)。
例子:
App.service('productDisplay', function(){
var myPrivate = function(){
//do sth
}
this.doOfferCal = function(product, date){
//call myPrivate
//do sth too
return offer;
}
});
使用 jasmine 可以直接对“doOfferCal”进行代码测试,但我也想为 myPrivate 编写单元测试。
我该怎么做?
提前致谢。
最佳答案
谢谢jabko87。
此外,如果要传递参数,请使用以下示例:
const myPrivateSpy = spyOn<any>(service, 'transformNative').and.callThrough();
myPrivateSpy.call(service, {name: 'PR'});
注意:这里 service 是 Class,transformNative 是私有(private)方法, {name: 'PR'} 传递一个对象参数
关于unit-testing - 私有(private)方法 使用 Jasmine 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17885635/