我在WebProject-A中有一组javascript文件。我在TestWebProject-A中有一组茉莉花规格文件。我使用托管的TFS服务来运行我的构建,并且一切都设置为在测试失败时失败。
我的spec文件使用如下引用注释引用了测试中的js文件:
/// <reference path="angular.js" />
/// <reference path="jasmine/jasmine.js" />
/// <reference path="..\..\..\WebProject\WebProjectA\App\Controllers.js"/>
请注意,...... \将取出测试项目,如果已定义规范,则将其放入真实的Web项目中。
当地一切正常。在TFS构建时,它失败了,因为测试表明测试对象未定义(非常确定这是由于路径)
我无法使用“添加为链接”来“复制”文件,因为据我所知,这只会在编译时复制它。它总是缺失(甚至在本地)
我尝试将复制语句添加到预构建任务中,如此
copy $(solutionDir)\path\to\app\*.js $(solutionDir)\path\to\test\ -y
然后更改参考位置。再次按预期在本地工作,但在构建服务上失败,结果为-1。
任何人都可以提供有关如何正确构建测试的任何指示。暂时我要将测试添加到webproject并阻止它们到达它们的路径,但它感觉很乱和错误。
由于
答案 0 :(得分:0)
感谢@Matthew Manela,问题解决了。由于我在解决方案目录中构建测试的方式,他们最终会在构建的drop文件夹中移动。 我添加了两个引用注释,一个用于本地工作,另一个用于相关文件在drop文件夹中的布局方式。 现在它在本地和构建期间都可以正常工作。如果您想避免这种重复引用,请密切关注创建测试项目的位置,并将其放在与Web项目相同的目录中。