4

コーヒー スクリプト コンストラクターが例外をスローすることを確認しようとしています (sinon と sinon-chai を使用)。

class Animal
  constructor: ->
    throw "exception"

class Dog extends Animal

犬のインスタンス化が例外をスローすることを確認するスパイを正しく作成するにはどうすればよいですか?

4

1 に答える 1

2

匿名関数を使用して内部にオブジェクトを作成するだけで、expects. シノンは今のところ必要ありません。

expect(-> new Animal()).to.throw(/message/)

単純な文字列をスローすると、chai の正規表現はthrow常にパスすることに注意してください。Error オブジェクトをスローした場合にのみ、正しく機能します。とにかく、実際のエラーをスローする方が常に良いです。

class Animal
  constructor: ->
    throw new Error('message') # only this will assert the regexp above

お役に立てれば。

于 2012-12-18T21:21:02.227 に答える