首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过Vows的run()方法使用不同的报告器?

如何通过Vows的run()方法使用不同的报告器?
EN

Stack Overflow用户
提问于 2011-09-01 04:12:40
回答 3查看 566关注 0票数 3

Vows有一个run()方法,它在node下运行测试,而不使用vows命令。

https://github.com/cloudhead/vows/blob/master/lib/vows/suite.js中,我们可以看到此方法接受一个选项参数,该参数允许指定一个不同于默认值的报告器:

代码语言:javascript
复制
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报告器?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-02 04:50:03

尝试:

代码语言:javascript
复制
var spec = require("vows/lib/vows/reporters/spec");
// ...
vows.describe("My Tests").addBatch({ /* some batch */ }).run({reporter:spec});

这是对我有效的最简单的方法。

票数 6
EN

Stack Overflow用户

发布于 2011-09-01 04:32:38

您需要一个记者的实例。其中只有一个是作为vows.options.reporter公开的(点报告器)

除此之外,你还可以干掉vows reporter folder里的任何一位记者。并手动将其包含在内。

替代方法是导出誓言套件(.export(module))并调用$ vows --spec$ vows --json

vows-is还提供了一个类似于“规范”报告器的reporter

我想你可以在公开记者的誓言上开一个问题。

票数 2
EN

Stack Overflow用户

发布于 2015-06-20 05:04:57

实际上,对报告者的要求已经在vows/lib/vows/suite.js中完成了

代码语言:javascript
复制
    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.');
      }
    }

然后,要使用它,您只需:

代码语言:javascript
复制
vows.describe('Your suite').addBatch({
    // your batch in here
    }).run({reporter:'spec'}, function(testResults){
        log(testResults);
})
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7262830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档