我正在使用 Chutzpah 来运行我们的 Jasmine 测试。我已将 Chutzpah dll 添加到解决方案中并更新了构建以运行 *.js 测试。
项目结构如下:
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" />
Jasmine 测试正在运行,但是我收到以下错误:
ReferenceError: Can't find variable: dateControl in file
dateControl 是被测对象。如果我将要测试的代码复制到 Jasmine 测试文件中,则测试通过。使用 Visual Studio 2013 的测试资源管理器中的 Chutzpah 测试适配器通过引用标记的 jasmine 测试。
我不知道为什么这不起作用。
更新
@jessehouwing 的回答为我指出了问题的出路。
构建服务器上的构建文件夹具有以下结构
bin _PublishedWebsites src
jasmine 测试脚本和库被复制到 bin,而被测试的脚本文件被复制到 src 目录和 _publishedwebsite 目录。
我正在寻找一种易于管理的解决方案,这样任何未来的开发人员都不需要知道他们需要将任何新脚本链接到测试项目中。