Spy auf einen Konstruktor mit Jasmin
Will ich Spion auf einem Konstruktor-Funktion und sagen Sie, wie oft es aufgerufen wurde mit Jasmin. Würde ich in der Regel so etwas wie dies tun, um das Ziel einer Methode eines Objekts:
spyOn(lib,'methodName')
aber in dem Fall bin ich versucht zu Spion auf den eigentlichen Konstruktor, so dass ich versucht habe:
spyOn(lib);
it('lib should be instantiated for each matching element', function () {
spyOn(lib);
expect(lib.calls.count()).toEqual(2);
});
Leider nur gibt mir eine Fehlermeldung in der Konsole:
"Error: undefined() method does not exist in ..."
wie kann ich Spion auf der Konstruktor?
Versuchen Sie, mit
verwenden
möglich, Duplikat der Jasmin - Spionage auf eine Methode aufrufen innerhalb eines Konstruktors
spyOn(window, 'lib')
verwenden
lib.callCount
möglich, Duplikat der Jasmin - Spionage auf eine Methode aufrufen innerhalb eines Konstruktors
InformationsquelleAutor Mike Rifgin | 2014-09-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
spyOn()
Funktion kann nur ersetzen Sie Objekteigenschaften, so dass die einzige Sache, die Sie tun können, ist die Bespitzelung der Prototyp. Nun, wenn Sie Spion auf den Prototyp des echt Klasse, es stören würde mit den anderen tests, so dass Sie prototypal inheritance.Können Sie etwas wie das hier tun :
Einige tests:
Können Sie Spion auf die
constructor
wenn Ihr code verwendet einex.constructor
basierten Typ-überprüfung. Aber ich denke, dies kann nur geschehen durch integration tests, und von schlecht gestalteten codes...InformationsquelleAutor inf3rno