使用TFS 2015运行Jest单元测试



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

当我通过"npm测试"运行单元测试时,我会得到结果。但是,要与TFS 2015集成,我需要一个可以运行Jest单元测试的测试运行程序,这样我就可以与TFS提供的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

在Merlin的回答的基础上,以下是我如何实现向TFS2015 vNext构建发布笑话测试结果和代码覆盖率(我使用的是create-react-app样板):

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

npm安装-g-jest json以点击

npm安装-g tap xunit

  1. 通过将package.json中的"测试"任务更改为:"test":"react scripts test--env=jsdom--json",

  2. 在package.json中配置jest选项:"笑话":{"报道记者":["cobertura"]}

  3. 创建了一个vNext版本(TFS2015v4),其中包含以下任务:

a。"npm"任务,command=run,arguments=test----coverage|jest-json to tap|tap xunit>test-result.xml

b。"发布测试结果"任务,format=JUnit

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

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

注意:-测试结果将不包括时间和程序集——这是对未来的扩展。。。

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

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

看看tap xunit。

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

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

npm test | tap-xunit > results.xml

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

如果您使用XAML构建运行,此链接将帮助您:使用Chutzpah 对Team Foundation Service进行Javascript单元测试

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

最新更新