【问题标题】:Run Jest unit test with TFS 2015使用 TFS 2015 运行 Jest 单元测试
【发布时间】:2016-09-21 22:00:54
【问题描述】:

是否有人尝试将 jest 单元测试与 TFS 2015 集成?我尝试使用 Chutzpah 测试适配器 (https://visualstudiogallery.msdn.microsoft.com/f8741f04-bae4-4900-81c7-7c9bfb9ed1fe?SRC=VSIDE) 但它无法识别笑话。我收到以下错误: Can't find variable Jest

当我通过“npm test”运行单元测试时,我得到了结果。但是,要与 TFS 2015 集成,我需要一个可以运行 Jest 单元测试的测试运行程序,以便我可以与 TFS 2015 提供的 vstest.console.exe 一起运行单元测试,以便它可以管理构建结果​​并在构建中发布结果总结报告。

任何帮助将不胜感激!

任何可以使用以下命令运行测试的测试运行器都应该可以工作(考虑到系统上安装了 VS 2015): "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "\test.js" /UseVsixExtensions:true

【问题讨论】:

标签: node.js unit-testing visual-studio-2015 tfsbuild jestjs


【解决方案1】:

Merlin's answer 上进行扩展,这是我如何将 jest 测试结果和代码覆盖率发布到 TFS2015 vNext 构建(我正在使用 create-react-app 样板):

首先在您运行代理的服务器上安装所需的软件包:

npm install -g jest-json-to-tap

npm install -g tap-xunit

  1. 将 jest 配置为输出 json,方法是将 package.json 中的“测试”任务更改为: "test": "react-scripts test --env=jsdom --json",

  2. 在 package.json 中配置 jest 选项: “开玩笑”:{“coverageReporters”:[“cobertura”]}

  3. 创建了具有以下任务的 vNext 构建 (TFS2015v4):

一个。 “npm”任务,命令=运行,参数=测试 -- --coverage | jest-json-to-tap | tap-xunit > TEST-result.xml

b. “发布测试结果”任务,格式=JUnit

c。 “公共代码覆盖结果”任务,代码覆盖工具=Cobertura,摘要文件=$(Build.Repository.LocalPath)\coverage\cobertura-coverage.xml

  1. 确保构建的“变量”包括设置环境变量“CI”="true"

注意事项: - 测试结果将不包括时间或组件 - 未来可以扩展的东西......

瞧!运行此构建将正确发布测试结果和代码覆盖率统计信息,以及报告工件。

【讨论】:

    【解决方案2】:

    我不确定 jest,但有一个简洁的 npm 包可以将基于 TAP 的结果转换为 xUnit XML 格式,然后您可以将其发布到 TFS。

    看看tap-xunit

    我有一个构建环境,其中 javascript 测试由各种工具和框架(AVA、Mocha、Jasmine 等)完成。我们决定将它们全部导出为 TAP 格式,运行它们 throw tap-xunit,然后发布到 TFS。

    基本上,你需要这样的东西:

    npm test | tap-xunit > results.xml
    

    您将结果通过管道传输到 tap-xunit 并将它们保存到 XML。这为您提供了一个格式化为 xUnit 的 XML,您可以将其发布到 TFS。如果您正在运行 TFS 2015,我强烈建议您使用 vNext 构建,这样运行起来会容易得多。检查“发布测试结果”构建步骤。

    【讨论】:

      【解决方案3】:

      如果您使用 XAML 构建运行,此链接将对您有所帮助:Javascript Unit Tests on Team Foundation Service with Chutzpah

      如果您使用 vNext 构建运行,请尝试 this blog 中 Jasmine.JS 测试(也是一种 JavaScript 测试)中提到的详细步骤。

      【讨论】:

        猜你喜欢
        • 2016-09-05
        • 2021-11-21
        • 2016-12-19
        • 2016-08-02
        • 2016-08-28
        • 2020-07-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多