2012-12-25 50 views

回答

2

基本ConsoleReporter只報告經過所有測試的時間,但如果你看看它的source code你會看到它是很容易修改,添加經過時間每個規格基本上你需要做的是當功能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(); 
};