【问题标题】:Spy on coffee-script constructor in sinon在 sinon 中监视咖啡脚本构造函数
【发布时间】:2012-11-22 21:08:09
【问题描述】:

我正在尝试验证咖啡脚本构造函数是否引发异常(使用 sinon 和 sinon-chai)。

class Animal
  constructor: ->
    throw "exception"

class Dog extends Animal

我如何正确创建一个间谍来验证实例化 Dog 是否引发异常?

【问题讨论】:

    标签: javascript testing coffeescript sinon chai


    【解决方案1】:

    只需使用匿名函数在其中创建您的对象,因此您可以将expects 传递给它。到目前为止不需要 sinon。

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

    请注意,如果你抛出一个简单的字符串,chai 的throw 中的正则表达式总是会通过。只有在抛出 Error 对象时它才能正常工作。无论如何,抛出真正的错误总是更好。

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      • 1970-01-01
      • 2014-10-16
      • 1970-01-01
      • 2015-12-24
      • 1970-01-01
      相关资源
      最近更新 更多