【问题标题】:Referencing Javascript Dependencies in Typescript Unit Test with Resharper使用 Resharper 在 Typescript 单元测试中引用 Javascript 依赖项
【发布时间】:2014-06-22 04:25:43
【问题描述】:

我正在编写一个集成测试来涵盖我拥有的一些 Typescript 类,这些 Typescript 类依赖于第三方 JS 库。

集成测试也是用 Typescript 编写的。当我使用 Resharper 的内置支持运行测试时,浏览器出现 JS 错误,提示找不到第三方依赖项。当然,测试运行器在为浏览器构建测试页面时并没有添加对它们的引用。我尝试在测试文件中使用 <reference> 语句添加引用,但 IDE (VS 2013) 抱怨您只能用来引用其他 Typescript 文件 - 而不是 Javascript 文件。

我该如何解决这个问题?

我过去使用过 Chutzpah 测试运行器,它带有各种用于 VS 的插件,这让我可以使用 <chutzpah_reference> 语句定义此类引用。但我想知道从现在开始是否可以只使用 Resharper...

【问题讨论】:

    标签: unit-testing resharper typescript resharper-8.0


    【解决方案1】:

    JetBrains 在 Resharper 的雷达上发现了这一点:https://youtrack.jetbrains.com/issue/RSRP-389196,其中提出了以下解决方法。

    在 TypeScript 测试文件中包含对 *.d.ts 文件的引用。然后把你的第三方 JS 库放在同目录下匹配的 .d.js 文件中。

    例如,如果你想引用 trial.js 文件,就像你说的那样,你不能这样做,因为 typescript 会抱怨:

    /// <reference path="scripts/trial.js" />
    

    因此,改为在 scripts/trial.d.ts 创建一个文件并添加

    /// <reference path="scripts/trial.d.ts" />
    

    然后将scripts/trial.js 重命名(或复制)为scripts/trial.d.js。 Resharper 测试运行程序将看到 trial.d.ts 引用并在它生成的测试夹具 HTML 中包含 trial.d.js 脚​​本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 2012-07-15
      • 1970-01-01
      • 2019-03-30
      相关资源
      最近更新 更多