node.js - 如何在 mocha 的 mocha.opts 文件中添加 chaijs 的断言?

标签 node.js testing mocha.js chai

我不知道这是否可能。我知道如果我们只使用 should.js 库,我们可以在 mocha.opts 文件

中执行以下操作
--require should

但是由于 chai 是父模块而 assertchai 的子模块,我如何在 mocha 中要求它.opts 文件?

还是我错过了一些非常基本的东西?

最佳答案

AFAIK chai 和 mocha 以这种方式不兼容。它只适用于 should 因为 should 修改了内置对象的原型(prototype),一些人认为对于这个特定的用例来说这是可以接受的,但通常它被认为是一个坏的应避免的做法。

您可以改为编写自己的小包装器模块来执行此操作:

global.assert = require('chai').assert;

然后在您的 mocha.opts 中,您可以执行 --require global-chai-assert 并且您的测试将可以访问 chai 的 assert 作为一个全局函数。我个人认为这是一种反模式,但如果您喜欢,我会这样做。

关于node.js - 如何在 mocha 的 mocha.opts 文件中添加 chaijs 的断言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24923946/

相关文章:

javascript - 使用 sendgrid 和 nodejs 未处理的 promise 拒绝

testing - TestCafe 断言失败

node.js - 'expect' 语句失败时出现 Mocha Chai 超时错误

node.js - 为什么 process.env.FIRESTORE_EMULATOR_HOST 在测试环境中是未定义的?即使我已经运行了模拟器

c# - WatiN: GetAttributeValue ("value") 不返回值

mocha.js - 如何在 sailsjs 中使用 blanket 和 mocha 进行测试覆盖

javascript - Next Js 结合外部 REST API 身份验证和授权

javascript - 如何在node js中获取promise之外的结果

javascript - 回调 spy 不会在流结束时被调用

testing - 如何在 Jenkins 中运行 ember-cli 测试