我正在尝试验证咖啡脚本构造函数是否引发异常(使用 sinon 和 sinon-chai)。
class Animal
constructor: ->
throw "exception"
class Dog extends Animal
如何正确创建间谍来验证实例化 Dog 是否引发异常?
我正在尝试验证咖啡脚本构造函数是否引发异常(使用 sinon 和 sinon-chai)。
class Animal
constructor: ->
throw "exception"
class Dog extends Animal
如何正确创建间谍来验证实例化 Dog 是否引发异常?
只需使用匿名函数在其中创建您的对象,这样您就可以将expects
. 到目前为止不需要诗乃。
expect(-> new Animal()).to.throw(/message/)
请注意,throw
如果您抛出一个简单的字符串,chai 中的正则表达式总是会通过。只有在抛出 Error 对象时它才能正常工作。无论如何,抛出真正的错误总是更好。
class Animal
constructor: ->
throw new Error('message') # only this will assert the regexp above
希望这可以帮助。