【问题标题】:How to run Jasmine tests in TeamCity如何在 TeamCity 中运行 Jasmine 测试
【发布时间】:2014-02-06 17:52:42
【问题描述】:

我们一直在使用Jasmine 为我们的 JavaScript 业务逻辑编写规范。我们能够在浏览器中运行我们的测试套件,但是我们如何将它集成到 TeamCity 中呢?最好不要使用 NodeJS,而是尽可能简单。

【问题讨论】:

    标签: teamcity jasmine phantomjs


    【解决方案1】:

    我创建了run-jasmine.js 的修改版本,可以在PhantomJS 源中找到(原始版本是here。这个版本可以在 TeamCity 中使用(它会自动检测它正在 TeamCity 中运行)。此更新版本使用 TeamCity service messages,可以很好地集成。

    您需要PhantomJS。您还需要以下其中一项:

    在您的 TeamCity 构建配置中添加一个可以运行此步骤的构建步骤:

    phantomjs.exe run-jasmine.js index.html
    

    index.html 是您的 Jasmine 跑步者页面。如果构建代理不包含 PhantomJS,您可以将其与源代码一起提交到您的存储库(这就是我们所做的)。

    结果将如下所示:

    测试详情:

    以上来自具有此设置的Tasks 示例 ASP.NET MVC 项目。它可以使用 Visual Studio (sln) 构建步骤在 TeamCity 中运行。它还将在 Visual Studio 中运行测试,作为预构建步骤。

    【讨论】:

    • 丹尼尔 - 感谢您的脚本和解释。几乎立即为我工作。我有 2 个怪癖:Jasmine 使用“/folder/file.js”语法从不同的文件夹运行文件,而 Phantom 显然需要“../folder/file.js”。而且尚不清楚 Team City 是否需要命令行构建步骤。
    • @IliaBarahovski 是的,当前工作目录可能因一种解决方案而异,具体取决于您如何设置目录。无论如何,很高兴听到你成功了!
    • @DanielLidström - 感谢您的澄清。但我无法在 teamcity 中运行 jasmine 测试。从那里提供的链接中添加了 phantomjs.exe 和 run-jasmine.js。如果可能,请提供链接,如果您有任何示例源或 GIT 链接。
    • @PandiyanCool 这是一个完整的示例:github.com/dlidstrom/Tasks。我能够使用 TeamCity 中的解决方案构建步骤连续构建它,并且测试作为预构建步骤自动运行。让我知道这对你有什么影响。
    • @DanielLidström 非常感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-17
    • 2010-12-26
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    相关资源
    最近更新 更多