Ich habe die folgende einfache ServiceTestwinkel Service interne Methode aufruft
app.factory('Shoes', function() {
function a() {return 12;}
function b() {return a();}
return {
a: a,
b: b
}
})
ich testen wollen, ob die Methode a
aufgerufen wird, wenn ich Methode aufrufen b
. Mein Test sieht so aus:
describe('Testing a Shoes service', function() {
var service;
beforeEach(module('plunker'));
beforeEach(inject(function(Shoes) {
service = Shoes;
}))
it('.b should call .a', function() {
spyOn(service, 'a');
service.b();
expect(service.a).toHaveBeenCalled();
})
});
Aber die Tests scheitern. Relevanter Plünderer ist here.
Frage ist, wie kann ich diese Art von Interaktionen testen?
Warum wird der Spion nicht für die Funktion erstellt, auf die der 'service.a' verweist? – zmii
@zmii Siehe meine Bearbeitung;) – Mickael
zumutbar. Bitte beachten Sie folgende Frage: http://StackOverflow.com/Questions/36222909/Why-Jasmine-Spy-doesn-Resolve-the-Function-Object-by-Reference – zmii