性能问题 - Chutzpah Console.exe和TypeScript

时间:2016-02-24 12:09:32

标签: performance typescript chutzpah

我遇到了一些性能问题,试图用chutzpah.json文件运行chutzpah.console.exe。对于这个项目,我使用TypeScript并在运行测试之前将TypeScript文件预编译为.js文件。我所拥有的每个测试文件通常都会引用它所依赖的另一个TypeScript文件 - 因此Visual Studio很高兴,因此Chutzpah扩展可以工作。例如,我的drawerBusiness.spec.ts文件包含此引用:

/// <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运行测试。但是,由于我已经切换到Chutzpah,测试速度要慢得多:

Tests complete: 263
=== 263 total, 0 failed, took 74.64 seconds ===

这些结果在我们的构建机器上更糟糕,并且它已超时。似乎运行的每个spec文件之间存在巨大延迟,我认为这会导致整体缓慢 - 一旦spec文件开始运行,它就会在几百分之一秒内完成。有没有人对可能错误配置的内容有任何想法?

1 个答案:

答案 0 :(得分:0)

以下是您可以尝试帮助解决此问题的一些内容:

  1. 您是否可以尝试在chutzpah.json文件中启用"EnableTestFileBatching": true以查看它是否有帮助?如果您有许多测试文件可能会很慢,并且此设置会告诉chutzpah将它们批量合并到一个线束中。

  2. 您能提供/ trace选项的输出,以便查看所有时间吗?

  3. 你能提供一个我可以在本地运行的复制品吗?