【问题标题】:Chutzpah - AngularJS testing with jasmine and TypeScriptChutzpah - 使用 jasmine 和 TypeScript 进行 AngularJS 测试
【发布时间】:2016-05-28 00:26:29
【问题描述】:

我在 Visual Studio 2015 Update 1 的 TypeScript 中使用 Angular 1.4.9 和 Jasmine 2.2.0 和 Chutzpah 4.2.0 以及我的 Angular 代码和单元测试。

我的问题与之前发布的 TypeScript - jasmine - Chutzpah - AngularJS 相同。我试图在那里实现接受的答案(将/// <chutzpah_reference />添加到角度、角度模拟和角度ui的测试打字稿文件中),但是我仍然收到错误:

找不到变量:文件 X 中的角度

在删除上述 chutzpah 引用后,我还尝试将 js 文件添加到 chutzpah.json 文件中(见下文)

在此之后,我从 Visual Studio Options-> Chutzpah -> Enable Chutzpah Tracing 启用了 Chutzpah 日志记录,重新运行测试,并确认 JS 文件确实被拾取。我还可以使用 Chutzpah 在 typescript 中运行其他没有角度依赖的测试。

有什么想法吗?

{
  "Framework": "jasmine",
  "Compile": {
    "Mode": "External",
    "Extensions": [ ".ts" ],
    "ExtensionsWithNoOutput": [ ".d.ts" ]
  },
  "References": [
    {
      "Includes": [ "*/../project/app/*.ts", "../project/scripts/*.js" ],
      "Excludes": [ "*/../project/app/*.d.ts" ]
    }
  ],
  "Tests": [
    {
      "Includes": [ "*/AppTests/*.ts" ],
      "Excludes": [ "*/AppTests/*.d.ts" ]
    }
  ]
}

项目目录结构相当标准:SLN 文件有 2 个项目,一个用于 Web 应用程序,另一个用于 Web 应用程序测试。

【问题讨论】:

    标签: angularjs json typescript jasmine chutzpah


    【解决方案1】:

    https://github.com/mmanela/chutzpah/wiki/Breaking-change-to-nested-reference-comments-in-version-4.1

    Chutzpah 4.1 更改了何时扫描您的文件以查找 /// <reference cmets。最初,Chutzpah 没有 chutzpah.json 设置文件,只能通过破解打开文件并解析参考 cmets 来查找参考。但是,由于添加了 chutzpah.json 文件,因此推荐的声明引用的方法是使用引用部分而不是文件 cmets。问题是即使您使用 chutzpah.json 它仍然会打开您的文件并为 cmets 解析它们(这会降低性能成本)。为了解决这个问题,4.1 版改变了扩展引用的工作方式。

    1. 如果您不使用 chutzpah.json 文件来指定您的测试(不推荐),则不会发生任何变化。您的参考 cmets 仍在解析中。

    2. 如果您指定了一个测试设置并且还想扩展嵌套引用,则必须将 ExpandReferenceComments 设置设置为 true。例如:

      “测试”:[ { “路径”:“测试”,“包含”:[“.Spec.”],“ExpandReferenceComments”:“真”} ]

    【讨论】:

    • 嗨@Matthew,谢谢。在发布问题并进行适当修改后,我找到了此链接。但是,拾取依赖的角度文件似乎仍然存在问题。我想出了一个 min-Repo 解决方案来演示这个问题。 Github 有什么好发的地方吗?
    • 我已经在 GitHub 上提出了github.com/mmanela/chutzpah/issues/478,并附上了我看到的问题的回购。
    猜你喜欢
    • 2017-06-21
    • 2016-07-18
    • 2016-08-05
    • 1970-01-01
    • 2013-08-25
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    相关资源
    最近更新 更多