こんにちは私は角度サービスを持っています。私のユニットテストで関数が呼び出されたかどうかをテストする方法(単位テスト角度)
...
return {
setMixpanel: function(searchObject){
searchObject["referrer"] ? mixpanel.register({"$referrer":searchObject["referrer"]}) : mixpanel.register({"$referrer":""});
}
}
私はおそらくregister
とともにspyOn
mixpanel
に持っています。しかし、私は何とかmixpanel.registerを模倣する必要があります。
mixpanel.register
を正しくモックするにはどうすればよいですか?コードはどこに行きますか?
次のように私はそれを嘲笑:
var mixpanel={
register : function(object){
return object
}
};
をしかし、ここで、私はこのコードを置けばいいの?それが正しいか?
誰かが私を助けてくれることを願っていますか?
EDITは: テスト自体は、おそらくこの
it('should test', function(){
spyOn(mixpanel,'register');
redirectService.setMixpanel(search);
expect(mixpanel.register).toHaveBeenCalledWith('...');
})
のようにしかし、私はmixpanelを模擬する必要があることを行うために見えます。私がミックスパネルをspyOnするだけで、私はエラーになります。
感謝を修正する必要があるいくつかの衝突がそこにいることを書きました。私はそれにスパイを作成しなければならないことを知っています。このようなもの。 spyOn(mixpanel、 'register'); redirectService.setMixpanel(obejct); expect(mixpanel.register).toHaveBeenCalledWith( '...');しかし、私がmixpanel.registerを最初にモックしなければ、それは認識されません – Dribel
詳細については、あなたの質問を編集してテストコードを共有してください – trollr
私は私の投稿を編集します。それはあなたを助けるべきだと思う:) – trollr