javascript - 如何使用 mocha 运行一些初始化代码

标签 javascript mocha.js

我知道 beforebeforeEachafterafterEach 但我如何在 ALL 之前运行一些代码测试。

换句话说,我是这样归档的

test
  test1.js
  test2.js
  test3.js

我用

运行测试
mocha --recursive

我不想在每个测试文件中都添加一个before。我需要一个 beforeAllTests 或一个 --init=setup.js 或我可以在执行任何测试之前执行一些 JavaScript 的东西。在这种特殊情况下,我必须在测试运行之前配置系统的日志记录模块

有没有办法调用一些在所有测试之前执行的初始化函数?

最佳答案

如果只需要初始化代码,那么 mocha -r ./init 可能就足够了。甚至将它放入 test/mocha.opts

--require ./test/init
--ui tdd

但是如果需要拆机 Action ,就进退两难了,例如:

var app = require('../app.js');
app.listen(process.env.WEB_PORT);

after(function(done) {
    var db = mongoskin.db(process.env.DB_URL, {safe:true});
    db.dropDatabase(function(err) {
        expect(err).to.not.be.ok();
        db.close(done);
    });
});

你会得到错误:

ReferenceError: 未定义之后

我猜 mocha 在处理“--require”时还没有自己初始化。

关于javascript - 如何使用 mocha 运行一些初始化代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714193/

相关文章:

javascript - 从对象中的子对象访问属性

javascript - 从 href 克隆最近的行

node.js - 使用 SinonJS 捕获抛出的错误

javascript - 如何在运行 Mocha 测试之前应用 jadeify 变换?

node.js - Webdriver (wd) 测试在本地工作但在 Travis CI 上超时?

javascript - 为什么要复制一个名为 "slice"的数组?

javascript - 在 asm.js 中转换 int[ish] 和 double[ish]

asp.net - 可以与 ASP.NET 应用程序的构建集成的 JavaScript 压缩器

javascript - 使用 Node 检查器调试远程 mocha.js 测试?

angularjs - Angular 测试,使用 mocha,意外请求