【问题标题】:Running unit tests for typescript in VS在 VS 中为 typescript 运行单元测试
【发布时间】:2013-05-31 05:01:32
【问题描述】:

我找到了几个为 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 测试会话中运行测试。

【问题讨论】:

  • 您能否分享其中一篇文章的示例 - 我无法想象您为什么要包含链接到 JavaScript 文件的参考评论?!
  • 这就是我在 Visual Studio for TypeScript 中运行测试的方式:stevefenton.co.uk/Content/Blog/Date/201302/Blog/…
  • 不错的设置@SteveFenton

标签: unit-testing resharper typescript test-runner visual-studio-test-runner


【解决方案1】:

您可以为此使用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。

【讨论】:

  • 这很酷,但我猜它还不支持泛型(v2.4)。有没有其他选择?
【解决方案2】:

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

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

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

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

【讨论】:

  • 回到那个时候,测试运行者正在使用这些引用来加载模块
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 2018-12-05
  • 2018-07-24
  • 2018-10-24
  • 2011-07-09
相关资源
最近更新 更多