【问题标题】:How to structure javascript test project for team foundation service如何为团队基础服务构建 javascript 测试项目
【发布时间】:2013-08-04 19:25:39
【问题描述】:

我在 WebProject-A 中有一组 javascript 文件。我在 TestWebProject-A 中有一组茉莉花规格文件。我使用托管的 TFS 服务来运行我的构建,并且在测试失败时一切都会失败。

我的规范文件使用这样的参考注释引用被测 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 并阻止到它们的路由,但感觉很笨拙和错误。

谢谢

【问题讨论】:

  • 构建 drop 中的文件是如何布局的?
  • 它们是这样的: drop/_publishedWebsites/WebProjectA drop/_publishedWebsites/WebProjectA-Test 问题是如何获得适用于两种环境(本地和 TFS)的路径。我想我可以在规范文件中添加两次引用,并且每次都未解决其中一个。我还认为下降发生在构建之后

标签: javascript visual-studio jasmine azure-devops


【解决方案1】:

感谢@Matthew Manela,问题已解决。由于我在解决方案目录中构建测试的方式,它们最终会在构建的放置文件夹中移动。 我添加了两个参考 cmets,一个用于本地工作,一个用于相对于文件在放置文件夹中的布局方式工作。 现在它在本地和构建期间都可以正常工作。如果您想避免重复引用,请密切注意您创建测试项目的位置,并将其放在与您的 Web 项目相同的目录中。

【讨论】:

    猜你喜欢
    • 2016-02-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多