我按照此处所述以编程方式使用Mocha:
https://github.com/visionmedia/mocha/wiki/Using-mocha-programmatically
与编写示例的方式非常相似:
测试runner.js:
var Mocha = require('mocha');
var mocha = new Mocha();
mocha.addFile('spec.js');
mocha.run(function() {});
在测试规范中,我正在启动无头浏览器以在特定网址上运行测试:
spec.js:
var Browser = new Browser();
browser.visit(url, function(){});
有没有办法将所需的网址从test-runner.js传递到spec.js?
答案 0 :(得分:5)
在spec文件中,您可以要求一个包含这些测试配置的模块:
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() {});
查看有关作为单例的节点模块的this related SO。