1

从命令行运行 Chutzpah 3.2.2.0 所有测试都会在大约 40 秒内发现并执行,我认为对于分成几个文件的 100 多个单元测试来说,这是一个不错的速度:

chutzpah.console.exe path\to\MyProjectRootFolder\chutzpah.json

但是,在 Visual Studio 中,要在测试资源管理器中加载测试列表需要 9-10 分钟。

使用 Process Explorer 监控 VS,我注意到进程“vstest.discoveryengine.x86.exe”在发现过程中多次调用 phantomjs.exe。

我的理解是 Chutzpah 需要 PhantomJS 在浏览器上下文中执行测试,并且仅用于测试执行。也许我误解了这里的过程。

我的 chutzpah.json 文件:

{
    "Framework":"qunit",
    "TypeScriptCodeGenTarget":"ES5",
    "TestFileTimeout":"60000",
    "Compile": {
        "Extensions": [
            ".ts"
        ],
        "ExtensionsWithNoOutput": [
            ".d.ts"
        ],
        "Mode": "External"
    },
    "CodeCoverageExcludes": [
        "*ests.ts",
        "*ests.js"
    ],
    "Tests": [
        {
            "Path": "TestsSubfolder", "Include": "*.ts"
        }
    ]
}

是否有任何设置可以告诉 Chutzpah:“嘿,伙计,我只需要在 VS 测试资源管理器中加载的测试列表,现在不需要编译或运行它们。”?

4

1 回答 1

2

Chutzpah 使用 PhantomJS 进行测试执行和测试发现。为了让 Chutzpah 知道存在哪些测试,它必须在发现模式下运行它们(它运行文件但告诉测试框架不执行主体)。

也就是说,在 VS 中不应该花那么长时间。它应该和你运行它们时一样快。能否请您在 chutzpah.codeplex.com 上提交一个带有重现的错误,我会看看。

于 2014-06-23T15:41:18.560 回答