Say*_*Pal 6 unit-testing qunit chutzpah typescript visual-studio-2015
我是JavaScript单元测试的新手.我正在尝试测试typescript类,我的测试也是用typescript编写的,有点如下所示:
/// <reference path="../../typings/qunit/qunit.d.ts" />
import Utility1 = require("../utility");//This is script I want to test.
test("utility_test",function() {
...
var result = ...;
var expected = ...;
equal(result, expected, "Test failed");
})
Run Code Online (Sandbox Code Playgroud)
我使用VS 2015放肆测试适配器如图所示安装在这里.为了清楚起见,我已将此安装到vs 2015的扩展:Chutzpah Test Runner上下文菜单扩展,以及用于测试资源管理器的Chutzpah测试适配器,还添加了Chutzpah NuGet包.
然而,当我构建我的项目时,测试不会出现在测试资源管理器中.当我尝试从上下文菜单运行测试时,它会因此错误而失败:Error: Error: Called start() outside of a test context while already started
.
谁能告诉我哪里出错了?
编辑
对于寻找require.js解决方案的人来说,这对我有用.现在我Chutzpah.json
看起来如下:
{
"Framework": "qunit",
"CodeCoverageExcludes": [ "*/require.config.js" ],
"TestHarnessReferenceMode": "AMD",
"TestHarnessLocationMode": "SettingsFileAdjacent",
"TypeScriptModuleKind": "AMD",
"AMDBaseUrl": "",
"EnableTestFileBatching": true,
"Compile": {
"Mode": "External",
"Extensions": [ ".ts" ],
"ExtensionsWithNoOutput": [ ".d.ts" ]
},
"References": [
{ "Path": "require.js" },
{ "Path": "require.config.js" },
],
"Tests": [
{ "Path": "jsTests" }
]
}
Run Code Online (Sandbox Code Playgroud)
Chutzpah 不再在其中捆绑 Typescript 编译器(从版本 4 开始)。您必须告诉 Chutzpah 在哪里可以找到生成的.js
文件(或/以及如果您想要的话如何编译它们)。
请参阅该设置的文档Compile
以及这些代码示例。
大多数人在使用 Visual Studio 时会使用外部编译模式,因为 VS 可以.ts
为你编译文件,你只需要告诉 Chutzpah 在哪里可以找到它们。看起来像这样:
{
"Compile": {
"Mode": "External",
"Extensions": [".ts"],
"ExtensionsWithNoOutput": [".d.ts"]
},
"References": [
{"Includes": ["*/src/*.ts"], "Excludes": ["*/src/*.d.ts"] }
],
"Tests": [
{ "Includes": ["*/test/*.ts"], "Excludes": ["*/test/*.d.ts"] }
]
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3588 次 |
最近记录: |