Как использовать другой репортер с методом run () в Vows? - PullRequest
3 голосов
/ 01 сентября 2011

Vows имеет метод run (), который запускает тест под узлом, без использования команды vows.

При https://github.com/cloudhead/vows/blob/master/lib/vows/suite.js мы видим, что этот метод принимает параметр option, который позволяетчтобы указать репортера, отличного от значения по умолчанию:

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;

Какое значение предполагается передать в объекте параметров для выбора другого репортера, например, spec reporter?

Ответы [ 3 ]

6 голосов
/ 02 сентября 2011

Попробуйте:

var spec = require("vows/lib/vows/reporters/spec");
// ...
vows.describe("My Tests").addBatch({ /* some batch */ }).run({reporter:spec});

Это был самый простой способ, который работал для меня.

2 голосов
/ 20 июня 2015

На самом деле требование к репортеру уже выполнено в 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);
})
2 голосов
/ 01 сентября 2011

Вам нужен экземпляр репортера.Только один из них является общедоступным (точечный репортер) как vows.options.reporter

Кроме того, вы можете удалить любого из репортеров в папке vows reporter .и включите его вручную.

Альтернативой может быть экспорт набора обетов (.export(module)) и вызов $ vows --spec или $ vows --json.

vows-is также предлагает репортер , похожий на репортер "spec".

Полагаю, вы могли бы открыть вопрос о клятвах для обнародования репортеров.

...