私は、ジャスミンを角度で使って単体テストで新しいです。角度単位spyOn()。and.callthroughが実際の関数を呼び出さない
私は現在、loadSomething(id)という機能を持つサービスをテストしており、その中にconsole.infoを追加しました。
MYサービス:
function loadSomething(id)
{
console.info('this is a test message');
return (a promise from a POST request)
}
そして、これは私のテスト(スペック)ファイルです:
//verify that the load function exists
it('load snapshot',function(){
expect(MyService.loadSomething(108)); //statement 1
spyOn(MyService, 'loadSomething').and.callThrough(); //statement 2
});
だから、私はSpyOnのcallthrough方法は、実際の関数を呼び出すことをオンラインで読みます。 しかし、expect文(文1)を使ってテストを実行すると、console.infoメッセージが呼び出されます(正常に動作します)。一方、文1をコメントアウトしてSpyOn(文2)のコメントを外すと、console.infoメッセージは表示されなくなりました。
私はまったく逆のことが起こると思います。 私はここで間違ったことを理解しましたか?
(コードの残りの部分はspecファイルと実際のサービスの両方、正常に動作し、私は本当にこの特定の事を得ることはありません)
は助けを事前にありがとうございます。