2017-10-13 18 views
0

Jasmine JSをカルマと共に使用して、Javascriptの別の関数内でオブジェクトのインスタンス化呼び出しをモックしたいです。コードスニペットは、次のようになります。Jasmineを使ってjavascriptで新しい関数/オブジェクト作成呼び出しを模擬する方法は?

ClassA = function(){ 
    var objB = new ClassB(); // How to fake this call? 

    function method(){ 
     // Want to test this method 
    } 
} 

ClassB = function(){ 
} 

答えて

1

私はSinon.jsを使用するためにあなたをお勧めします: http://sinonjs.org/

私たちはあなたの機能(スパイ)だったかどうかをチェックすることができ、スパイやスタブを宣言することができますsinon特定の値(スタブ)を返す関数を呼び出すために呼び出されます。

また、クラスB全体を模擬したいのであれば、この方法でクラスコンストラクタ(依存関係注入)に注入することをお勧めします。