【发布时间】:2018-05-25 03:22:55
【问题描述】:
假设你有一个简单的摩卡测试:
describe("Suite", function(){
it("test",function(doneCallback){
// here be tests
});
});
在此测试中,我可以通过在 describe 函数中的任意位置添加 this.timeout(VALUE); 来更改超时。
但是,除了 timeout 值之外,还有许多其他 Mocha options 可以从命令行或位于测试文件夹 (./test/mocha.opts) 中的 mocha.opts 文件中以独占方式声明。
我想要的是在运行时更改其中一些选项(例如,reporter),而不是在命令行/mocha.opts 文件中。
根据我对可能性的研究,我发现有 an article explaining how you can use mocha programmatically,它允许在运行时更改这些选项,但您需要自己创建 Mocha 实例,而在普通测试中则没有不能直接访问 Mocha 实例。
那么,有没有办法从现有测试中获取 Mocha 实例并在测试期间的运行时更改其中一些选项,例如 reporter?
我想要一个不需要以任何方式修改Mocha 源代码的选项(我想我可以篡改Mocha 实例以实现一种直接在Mocha构造函数)。
【问题讨论】:
-
看起来您想关注那篇您自己创建 mocha 实例的文章。
-
@kevzettler 什么文章?我链接的那个?那需要您自己创建
Mocha实例和Mocha运行器(添加测试文件等),而我想从命令行使用mocha myTest.js并将myTest.js挂钩到Mocha实例并能够在运行时修改选项 -
@kevzettler 你能详细说明如何在答案中做到这一点吗?
标签: javascript automation mocha.js