Chutzpah - 使用jasmine和TypeScript进行AngularJS测试

时间:2016-02-16 16:09:24

标签: angularjs json typescript jasmine chutzpah

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

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

  

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

在删除上面的chutzpah引用包括(见下文)后,我也尝试将js文件添加到chutzpah.json文件中

在此之后,我启用了Visual Studio选项中的Chutzpah日志记录 - &gt; Chutzpah - &gt;启用Chutzpah Tracing,重新运行测试,并确认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 App,另一个用于Web App测试。

1 个答案:

答案 0 :(得分:1)

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

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

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

  2. 如果指定测试设置并且仍希望展开嵌套引用,则必须将ExpandReferenceComments设置为true。例如:

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