4

我发现了几个为 typescript 运行单元测试的例子。所有这些都基于引用 ts 和 js 文件,例如

/// <reference path="../Calc.ts" />
/// <reference path="../Calc.js" />

不幸的是,当我尝试引用 js 文件时,出现以下错误:

Incorrect reference: referenced file: "../Calc.js" cannot be resolved.

如果没有参考,test runner 不会加载被测 js 文件,并且测试无法执行。

有任何想法吗?理想情况下,我想在 VS 测试资源管理器或 Resharper 测试会话中运行测试。

4

2 回答 2

4

你可以使用Chutzpah

使用 Chutzpah,您可以从命令行运行测试并将您的测试与 Visual Studio 测试资源管理器集成。

Chutzpah 允许您决定是否要从 .ts 文件、.js 文件、.html 文件或所有这些文件中运行测试。

它还允许您从您的 .ts 单元测试文件加载外部 .js 文件(例如依赖库),并使用其特定的

/// <chutzpah_reference path="lib/jquery-1.9.1.min.js" />
/// <reference path="src/YourFileToBeTested.ts" />

你的单元测试可以用 TypeScript 编写。

您可以从 Visual Studio/Tools/Extensions 和更新安装 Chutzpah。

于 2013-06-06T15:12:38.693 回答
1

绝对没有理由包含对 JS 文件的引用:

/// <reference path="../Calc.js" />

for 的用途/// <reference是为编译器提供有关另一个文件中存在的类型信息的信息。它没有运行时影响,只有编译时影响。当你这样做时,所有的编译时间影响(类型信息、代码生成)都会被考虑在内:

/// <reference path="../Calc.ts" />
于 2013-06-04T23:16:29.013 回答