在2012年TFS比赛中放纵地跑茉莉花可以';找不到测试中的引用文件
我用Chutzpah来做茉莉花测试。 我已经将Chutzpah DLL添加到解决方案中,并更新了构建以运行*.js测试 项目结构如下:在2012年TFS比赛中放纵地跑茉莉花可以';找不到测试中的引用文件,tfs,jasmine,chutzpah,Tfs,Jasmine,Chutzpah,我用Chutzpah来做茉莉花测试。 我已经将Chutzpah DLL添加到解决方案中,并更新了构建以运行*.js测试 项目结构如下: MyApp.Web Scripts App Home DateControl.js MyApp.Web.Tests Scripts Jasmine lib Chutzpah (dlls) Sp
MyApp.Web
Scripts
App
Home
DateControl.js
MyApp.Web.Tests
Scripts
Jasmine
lib
Chutzpah (dlls)
Spec
App
Home
DateControlSpecs.js
Jasmine测试文件使用引用标记来引用要测试的文件
/// <reference path="../../../../../../App.web/scripts/app/home/datecontrol.js" />
dateControl是正在测试的对象。
如果我将要测试的代码复制到Jasmine测试文件中,那么测试就通过了。
jasmine使用Visual Studio 2013中测试资源管理器中的Chutzpah测试适配器通过引用标记进行测试
我不知道这为什么不起作用
更新
@jessehouwing的回答为我指出了问题的方向
生成服务器上的生成文件夹具有以下结构
垃圾箱
_发布网站
src
jasmine测试脚本和库被复制到bin,而测试中的脚本文件被复制到src目录和_publishedwebsite目录
我正在寻找一个易于管理的解决方案,以便任何未来的开发人员都不需要知道他们需要将任何新脚本链接到测试项目中。这很可能是由于Team Build将源代码和二进制文件文件夹分开,并在二进制文件文件夹中强制执行不同的输出结构。这意味着您的文件不在您期望的位置 为了确保测试运行程序始终能够找到您的引用,您必须使用Visual Studio中的“添加为链接”选项,并将它们的生成操作设置为“始终复制”,以便在测试执行时将它们复制到测试目录
另外,您可能需要。我现在可以接受的解决方案 对于jasmine测试文件和测试中的文件,我根据Chutzpah文档在属性中添加了“始终复制”。我没有意识到测试中的文件实际上与jasmine测试文件一起被复制到builds bin文件夹。 因此,在构建服务器上,我最终得到了以下结构
bin
scripts
app
* application js files
specs
* jasmine test files
在jasmine测试文件中,我添加了两个引用:
- 要测试的文件的Visual Studio目录结构的第一个
- 第二个是构建bin文件夹结构
/// <reference path="../../../../../../App.Web/scripts/app/home/datecontrol.js" />
/// <reference path="../../../../../_PublishedWebsites\App.Web/scripts/app/home/datecontrol.js" />
//
///
黑客2
通过向项目的后期生成事件添加xcopy命令,我可以将要测试的文件复制到与jasmine测试文件相同的位置。我希望找到一个易于维护且不需要未来开发人员将新文件链接到测试项目中的解决方案。希望与现实。。。对不起,黑客1是我的选择:)
/// <reference path="../../../../../../App.Web/scripts/app/home/datecontrol.js" />
/// <reference path="../../../../../_PublishedWebsites\App.Web/scripts/app/home/datecontrol.js" />