2014-12-06 87 views
5

有沒有人知道在測試AngularJS時抑制Karma給出的堆棧跟蹤的方法? (通過配置選項或插件)。抑制Karma(AngularJS)中的堆棧跟蹤

理想情況下,我希望我的測試報告不過是單行測試用例失敗列表中的常用摘要。我喜歡一次性寫出給定模塊的測試,然後將其作爲一個簡單的代碼todo列出了實際代碼。這是我通常在單元測試其他東西時設置的方式。相反,我得到了一絲線條和線條,並有滾動周圍尋找我關心的只有一行:

瀏覽器版本(OS)我有用的測試例失敗

我曾嘗試過各種因緣配置logLevel選項,但我仍然得到一個跟蹤轉儲。

請注意:我是而不是尋找關於棧跟蹤的優點的辯論。我有一個具體的問題,只關心一個具體的答案。如果你知道一個插件,將提供類似的或更好的報告,我在找什麼,然後請做分享!

回答

1

相當長一段時間後,我只能在卡瑪 - 茉莉項目找到this closed issue,建議在配置文件在本地創建一個定製記者:

var myReporterFactory = function() { 

    this.onRunComplete = function(browser, result) { 
     var TOTAL_FAILED = 'TOTAL: %d FAILED, %d SUCCESS\n'; 
     process.stdout.write(
      require('util').format(TOTAL_FAILED, result.error, result.success) 
     ); 
    }; 

    return this; 
}; 

// ... 

plugins: [ 
    // other karma plugins ... 
    { 
    'reporter:myReporter': ['factory', myReporterFactory] 
}], 

不知道一個如何能接近您的實際結果得到的。 ..相當長的一擊。或者最好也許換一個不同的記者。兩個例子在這裏:

1

karma-test-shim.js你可以設置...

Error.stackTraceLimit = 0; // No Stack trace 

Error.stackTraceLimit = 2; // Some Stack trace 

Error.stackTraceLimit = Infinity; // Full stack trace 

經測試kjhtmlkarm-jasmine-html)記者。