3

Vowsには、vowsコマンドを使用せずにノードの下でテストを実行するrun()メソッドがあります。

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;

別のレポーター、たとえばレポーターを選択するために、オプションオブジェクトに渡されるはずの値は何specですか?

4

3 に答える 3

6

試す:

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

これは私にとって最も簡単な方法でした。

于 2011-09-01T20:50:02.683 に答える
2

レポーターのインスタンスが必要です。そのうちの1つだけが公開されています(ドットレポーター)vows.options.reporter

それ以外の場合は、 vowsreporterフォルダー内の任意のレポーターをリッピングできます。手動で含めます。

別の方法は、誓いのスイート()をエクスポートして、または.export(module)を呼び出すことです。$ vows --spec$ vows --json

vows-isは、「spec」レポーターに似たレポーターも提供します。

記者を公開するという誓いの問題を開くことができると思います。

于 2011-08-31T20:32:37.873 に答える
2

実際、レポーターへの要求はすでに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);
})
于 2015-06-19T21:04:56.803 に答える