1

我以编程方式使用 Mocha,如下所述:

https://github.com/visionmedia/mocha/wiki/Using-mocha-programmatically

与示例的编写方式非常相似:

测试运行器.js:

var Mocha = require('mocha');
var mocha = new Mocha();
mocha.addFile('spec.js');
mocha.run(function() {});

在测试规范中,我正在启动一个无头浏览器以在特定 url 上运行测试:

规范.js:

var Browser = new Browser();
browser.visit(url, function(){});

有没有办法将所需的 url 从 test-runner.js 传递给 spec.js?

4

1 回答 1

5

在您的规范文件中,您可以要求一个包含这些测试配置的模块:

var url = require('./config.js').url;
describe("blah", function(){
    ...
});

这个配置模块也可以从最初的 mocha 测试中设置(例如):

var Mocha = require('mocha');
var mocha = new Mocha();

var config = require('./config.js');
config.setOptions({url:"localhost/testme.html"});

mocha.addFile('spec.js');
mocha.run(function() {});

查看这个关于节点模块是单例的相关 SO 。

于 2012-12-22T07:35:42.863 回答