私のテストで関数がまだ呼び出されているかどうかを調べようとしています。これを行うときにエラーTypeError: Cannot read property 'match' of undefined
が表示されます。私は自分の機能にsinon.spy()
を使用するように自分のコードを設定し、これに基づいてcallCount
をチェックします。 getMarketLabel
常に文字列を返します。以下は私のコードです:あなたのコードで関数がエラーと呼ばれているかどうかチェックするsinon spy
beforeEach(() => {
marketLabelSpy = sinon.spy(getMarketLabel());
}); //please note this is in a describe block but didnt feel it was relevant to post it. marketLabelSpy is pre-defined.
it('should be called',() => {
expect(marketLabelSpy).to.have.callCount(1);
})
getMarketLabel()が何を返すのでしょうか?サイオンスパイを添付するには、sinon.spy(func)またはsinon.spy(object、 "method")を実行するか、関数自体としてsinon.spy()を使用する必要があります。 – DevDig
は元の投稿を編集しました。 'getMarketLabel'は常に' string'を返します – DaveDavidson
私はこれが理にかなっているとは思わない、sinonスパイを使う方法を見てください:http://sinonjs.org/docs/#spies、文字列をとるsinon.spyメソッドはありません。 – DevDig