J'essaie de tester si une méthode locale (méthode 1) est appelée à partir d'une autre méthode (méthode). J'ai essayé quelque chose comme ceci mais cela ne fonctionne pas car la méthode 1() a toujours la définition originale. L'extrait de code ressemble à ceci:En utilisant Jasmine comment vérifier si une méthode locale a été appelée?
var ClassA = function() {
var method1 = function() {
console.log('method1');
};
var method2 = function() {
method1();
};
return {method1: method1, method2: method2}
}
Cas de test:
it("should call method1 when method2 is called", function() {
var objectA = new ClassA();
spyOn(objectA, 'method1').andCallThrough;
objectA.method2();
expect(objectA, 'method1').toHaveBeenCalled();
});
Essayé primordial method1 à sans aucun succès:
objectA.method1 = jasmine.createSpy('aSpy').andCallThrough();
Votre code semble correct, mais il vous manque le '()' dans la ligne 'spyOn (objectA, 'method1'). EtCallThrough;'. –