2017-12-21 5 views
0

karma.jsで関数の結果を模擬する方法を誰かが知っていますか? この関数は、thymeleafフレームワーク(java、spring bootなど)によって指定されたvarを使用します。Karma.jsで関数を模擬する方法

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

私がしたいことは、この関数の結果がTRUEまたはFALSEであることをkarma.jsに伝えることです。

答えて

1

あなたは機能上のスパイを作成する(これはあなたの関数は、オブジェクトの一部ではないと仮定し)、その後、独自の機能でそれを置き換えることができます。

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

スパイはちょうどようにその機能をリッスン呼び出された後、 'callFake'はあなたが望むもので機能を置き換えます。

関数がオブジェクトの一部である場合は、 'spyOn'呼び出しの 'window'をオブジェクトの名前に置き換えます。

関連する問題