2016-10-08 7 views
0

私は現在、テストフレームワークとしてmochaでsinonjsを使用しています。私はクラスをモックしようとしていますが、メソッドを認識していないようです。Sinon.jsは方法を認識しません。

例:

module ModuleA{ 
    export class ClassA { 
     public funciton1() { 
       //do something 
     } 
    } 
} 

it.only("test1", function() { 
    var sandbox = sinon.sandbox.create(); 
    var mockClassA = sandbox.mock(ModuleA.ClassA); 

    mockClassA.expects("function1").once(); 
    mockClassA.function1(); 
}); 

しかし、それは私が間違ってそれを使用している場合があります良いチャンスがあるので、私はsinonjsに新たなんだ例外

TypeError: Attempted to wrap undefined property function1 as function 

をスローします。 Function1はClassAで定義されているので、コードはClassAのモックを作成してから、モック上でfunction1が呼び出されることを期待していると言っています。なぜ関数1を関数として見つけることができないのか分かりません。

感謝何かアドバイス、 おかげで、 D

答えて

1

mockメソッドは、パラメータとしてオブジェクトのインスタンスを取り、あなたは(クラス宣言)関数を渡しています。 newキーワードを使用してインスタンスを作成します。

+0

スタブクラスがオブジェクトの実際のインスタンスをラップする必要があることを認識していませんでした。ありがとう – darewreck

関連する問題