私は問題を再現する完全な単純化された例を作成しました。 )( [[ 'こんにちは'、< jasmine.any(ファンクション機能:jasmine.any(Function)を動作させることができません
はスパイがで呼び出されていることが予想:代わりに渡してユニットテストの
function TestObj() { var self = this; self.getStuff = function(aString, callback) { // TODO } } describe("server communications", function() { it("it calls the server", function() { var obj = new TestObj(); obj.getStuff = jasmine.createSpy(); // swap the above line for this and it makes no difference // spyOn(obj, "getStuff"); var functionVar = function() { }; obj.getStuff("hello", functionVar); expect(obj.getStuff).toHaveBeenCalledWith( [ "hello", jasmine.any(Function) ]); }); });
、私は次の出力を得ます{[ネイティブコード]})>]] しかしと呼ばれた。 [[ 'ハロー']
なぜ、それが機能私は(関数(){}を渡すことを認識されていない機能)実際には機能しているtions?それはネイティブコードは何を期待している?誰もがjasmine.any(Function)でこの問題を抱えていましたか?ありがとうございました!
EDITED
IはspyOn代わりにjasmine.createSpyを(使用してみました)、それは違いはありません。私はただ一つの引数を試して、それは動作します。最初の文字列引数を導入すると、jasmine.any(Function) - 任意のアイデアが破られますか?
私のオリジナルの回答を編集してください。私はspyOnを試しました - 違いはありません。複数の議論をする例がありますか? –
nevermind - それを修正しました。ご回答有難うございます。 –