私は Jasmine を使用して Angular アプリケーションのテスト ケースをコーディングしていました。しかし、多くの内部メソッドがサービス内でプライベートとして宣言されています。
例:
App.service('productDisplay', function(){
var myPrivate = function(){
//do sth
}
this.doOfferCal = function(product, date){
//call myPrivate
//do sth too
return offer;
}
});
Jasmine を使用すると、「doOfferCal」のコード テストが簡単になりますが、myPrivate のユニット テストも記述したいと思います。
どうすればいいですか?
前もって感謝します。
ベストアンサー1
jabko87さん、ありがとう。
さらに、引数を渡す場合は、以下の例を使用します。
const myPrivateSpy = spyOn<any>(service, 'transformNative').and.callThrough();
myPrivateSpy.call(service, {name: 'PR'});
注: ここで、service はクラス、transformNative はプライベートメソッド、{name: 'PR'} はオブジェクト引数を渡します。