Vows有一个run()方法,它在node下运行测试,而不使用vows命令。
在https://github.com/cloudhead/vows/blob/master/lib/vows/suite.js中,我们可以看到此方法接受一个选项参数,该参数允许指定一个不同于默认值的报告器:
this.run = function (options, callback) {
var that = this, start;
options = options || {};
for (var k in options) { this.options[k] = options[k] }
this.matcher = this.options.matcher || this.matcher;
this.reporter = this.options.reporter || this.reporter;应该在options对象中传递什么值来选择不同的报告器,例如spec报告器?
发布于 2011-09-02 04:50:03
尝试:
var spec = require("vows/lib/vows/reporters/spec");
// ...
vows.describe("My Tests").addBatch({ /* some batch */ }).run({reporter:spec});这是对我有效的最简单的方法。
发布于 2011-09-01 04:32:38
您需要一个记者的实例。其中只有一个是作为vows.options.reporter公开的(点报告器)
除此之外,你还可以干掉vows reporter folder里的任何一位记者。并手动将其包含在内。
替代方法是导出誓言套件(.export(module))并调用$ vows --spec或$ vows --json。
vows-is还提供了一个类似于“规范”报告器的reporter。
我想你可以在公开记者的誓言上开一个问题。
发布于 2015-06-20 05:04:57
实际上,对报告者的要求已经在vows/lib/vows/suite.js中完成了
if (options.reporter) {
try {
this.reporter = typeof options.reporter === 'string'
? require('./reporters/' + options.reporter)
: options.reporter;
} catch (e) {
console.log('Reporter was not found, defaulting to dot-matrix.');
}
}然后,要使用它,您只需:
vows.describe('Your suite').addBatch({
// your batch in here
}).run({reporter:'spec'}, function(testResults){
log(testResults);
})https://stackoverflow.com/questions/7262830
复制相似问题