我在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测试。
答案 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改变了扩展引用的工作方式。
如果您不使用chutzpah.json文件来指定测试(未推荐),则不会发生任何变化。您的参考评论仍在解析中。
如果指定测试设置并且仍希望展开嵌套引用,则必须将ExpandReferenceComments
设置为true。例如:
“测试”:[ {“路径”:“测试”,“包含”:[“ .Spec。”],“ExpandReferenceComments”:“true”} ]