我遇到了一些性能問題,試圖用我的chutzpah.json文件運行chutzpah.console.exe。對於這個項目,我使用TypeScript並在運行測試之前將TypeScript文件預編譯爲.js文件。每個測試文件通常都會引用一個依賴於其他TypeScript文件 - 這是Visual Studio很高興,因此Chutzpah擴展工作。例如,我的drawerBusiness.spec.ts文件包含此引用:性能問題 - Chutzpah Console.exe和TypeScript
/// <reference path="../../../../app/business/documents/drawerBusiness.ts"/>
我chutzpah.json文件如下:
{
"Compile": {
"Mode": "External",
"Extensions": [ ".ts" ],
"ExtensionsWithNoOutput": [ ".d.ts" ]
},
"Framework": "jasmine",
"TestHarnessReferenceMode": "Normal",
"TestHarnessLocationMode": "SettingsFileAdjacent",
"References": [
{ "Path": "./lib/jquery/jquery.js" },
{ "Path": "./lib/angular/angular.js" },
{ "Path": "./lib/angular-mocks/angular-mocks.js" },
{ "Path": "./lib/jasmine-jquery/jasmine-jquery.js" },
{ "Path": "./lib/underscore/underscore.js" },
{ "Path": "./lib/angular-bootstrap/ui-bootstrap-tpls.js" },
{ "Path": "./tests/dependencies.js" }
],
"Tests": [
{ "Include": "*/tests/specs/*.ts", "ExpandReferenceComments": "true" }
]
}
正如你可以從上面看到的,我需要加載一些外部庫。我認爲這些加載一次,然後用於每個測試?
當我使用純JavaScript時,這種配置非常快。它在Visual Studio中完成得非常快,並且通過從chutzpah.console.exe運行測試。但是,因爲我已經切換到放肆,測試是要慢得多:
Tests complete: 263
=== 263 total, 0 failed, took 74.64 seconds ===
這些結果甚至我們的構建機器上糟糕的是,它選擇的時機了。看來每個運行的spec文件之間有很大的延遲,我認爲這會導致整體緩慢 - 一旦spec文件開始運行,它會以幾百分之一秒完成。有沒有人有任何想法可能配置不正確?
經過進一步的測試,我甚至嘗試刪除「編譯」部分,並使用純JavaScript文件,而且我仍然遇到了經濟下滑的情況。我相當肯定每個文件的測試工具創建都會導致這些問題,並且我相信在升級到支持非JS文件的Chutzpah版本後會出現放緩。但也許我只是在做配置錯誤。 –