コーヒー スクリプト コンストラクターが例外をスローすることを確認しようとしています (sinon と sinon-chai を使用)。
class Animal
constructor: ->
throw "exception"
class Dog extends Animal
犬のインスタンス化が例外をスローすることを確認するスパイを正しく作成するにはどうすればよいですか?
コーヒー スクリプト コンストラクターが例外をスローすることを確認しようとしています (sinon と sinon-chai を使用)。
class Animal
constructor: ->
throw "exception"
class Dog extends Animal
犬のインスタンス化が例外をスローすることを確認するスパイを正しく作成するにはどうすればよいですか?
匿名関数を使用して内部にオブジェクトを作成するだけで、expects
. シノンは今のところ必要ありません。
expect(-> new Animal()).to.throw(/message/)
単純な文字列をスローすると、chai の正規表現はthrow
常にパスすることに注意してください。Error オブジェクトをスローした場合にのみ、正しく機能します。とにかく、実際のエラーをスローする方が常に良いです。
class Animal
constructor: ->
throw new Error('message') # only this will assert the regexp above
お役に立てれば。