2017-12-21 7 views
0

Kann jemand ein Funktionsergebnis mit karma.js verspotten? Die Funktion verwendet eine Variable, die von thymeleaf frame angegeben wird (Java, Spring Boot, etc ..).Wie man eine Funktion in Karma.js spottet

 function isFlooring() { 
      var isMyChoiceOk = [[${mychoice}]]; 
      if(typeof isMyChoiceOk !== 'undefined') { 
       return isMyChoiceOk; 
      } 
      else { 
       return false; 
      } 
     } 

Was ich tun möchte, ist karma.js zu sagen, dass das Ergebnis dieser Funktion wahr oder falsch ist.

Antwort

1

Sie einen Spion auf der Funktion erstellen können (dies setzt voraus, Ihre Funktion nicht Teil eines Objekts ist) und es dann mit Ihrer eigenen Funktion ersetzen:

spyOn(window, 'isFlooring') 
    .and.callFake(function(arguments) { 
     // return whatever you want to here 
     return true 
    } 

Der Spion hört nur für diese Funktion zu sein aufgerufen und dann 'callFake' ersetzt die Funktionalität mit dem, was Sie wollen.

Wenn Ihre Funktion Teil eines Objekts ist, ersetzen Sie 'Fenster' im 'SpyOn' Aufruf durch den Namen des Objekts.

Verwandte Themen