6

Jasmine テストのスイート全体が必要以上に時間がかかり始めたことに気付きましたが、実際にどのテストが遅延を引き起こしているのかはわかりません。各テストを個別に実行せずにそれを見つける方法はありますか?

4

2 に答える 2

2

基本ConsoleReporterはすべてのテストの経過時間を報告するだけですが、そのソース コードを見ると、各仕様の経過時間を追加するように変更するのは非常に簡単であることがわかります。基本的に、関数reportSpecStartingが呼び出されたとき (スペックの実行が開始される直前) にスペックが開始された時刻をログに記録し、関数が呼び出されたときreportSpecResults(スペックの実行が終了した直後) に差分を出力する必要があります。

したがって、これを変更するConsoleReporterと、各仕様の名前と経過時間が出力されます。

this.reportSpecStarting = function() {
    this.specStartingTime = this.now();
};

this.reportSpecResults = function(spec) {
    var results = spec.results();

    print(results.description + " ");

    if (results.skipped) {
        yellowStar();
    } else if (results.passed()) {
        greenDot();
    } else {
        redF();
    }

    print(" (" + (this.now() - this.specStartingTime) + "ms)");
    newline();
};
于 2012-12-25T16:41:23.413 に答える
0

Jasmines HTMLReporter の使用はどうですか? (下に向かって) http://pivotal.github.com/jasmine/

うーん..多分あなたはそれをループして、各ファイルが個別に実行されるようにすることができますか? (最良の答えではありません:() with-some-should/

于 2012-12-25T11:27:29.687 に答える