javascript - 使用new执行构造函数断言抛出错误

标签 javascript mocha.js chai

<分区>

将 Chai 与 Mocha 结合使用,我将使用什么语法来断言在使用 new 关键字执行构造函数时会抛出错误?使用以下命令时出现错误:

assert.throw(new SomeFunction, 错误);

返回:

AssertionError:预期 { Object () } 是一个函数

最佳答案

传递一个函数给assert.throw:

assert.throw(function () {
    new SomeFunction()
}, Error);

你没有工作的原因是 new SomeFunction 被解释为 new SomeFunction() 并在 assert.throw 之前执行执行。因此,您最终运行 assert.throw 时使用的对象是 SomeFunction 的实例,而不是使用实例化对象的函数。

关于javascript - 使用new执行构造函数断言抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20537499/

相关文章:

javascript - 使用should.js进行 Mocha 测试时出现问题

javascript - 在使用 Mocha 进行测试时处理 WebPack CSS 导入

node.js - 每次测试前无法获取所需文件

javascript - 找不到模块 chai 尽管它存在于节点模块文件夹中

Javascript localStorage 未接收来自表单的输入

javascript - 使用 React 单击时输入的值更新 URL

javascript - 如何使用 #webpack 测量所有源代码的覆盖率?

javascript - esri-leaflet-geosearch : how to integrate it with React

javascript - 可以吗?通过硬编码值来重写 Backbone.sync?

node.js - 使用 Mockgoose/Mongoose 通过 Mocha 和 Chai-Expect 保存/创建时超时