繁体   English   中英

使用TFS 2015运行Jest单元测试

[英]Run Jest unit test with TFS 2015

有没有人试图将开玩笑单元测试与TFS 2015集成? 我试图使用Chutzpah测试适配器( https://visualstudiogallery.msdn.microsoft.com/f8741f04-bae4-4900-81c7-7c9bfb9ed1fe?SRC=VSIDE )但是它无法识别开玩笑。 我收到以下错误: 无法找到变量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

根据Merlin的回答 ,这里是我如何实现发布jest测试结果和代码覆盖到TFS2015 vNext构建(我正在使用create-react-app样板):

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

npm install -g jest-json-to-tap

npm install -g tap-xunit

  1. 配置jest输出json,通过将package.json中的“test”任务更改为:“test”:“react-scripts test --env = jsdom --json”,

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

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

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

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

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

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

注意: - 测试结果不包括时间和组件 - 未来可以延伸的东西......

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

我不确定开玩笑,但是有一个简洁的npm包可以将基于TAP的结果转换为xUnit XMLformat,然后你可以将它发布到TFS。

看看tap-xunit吧

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

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

npm test | tap-xunit > results.xml

您将结果传递给tap-xunit并将其保存为XML。 这为您提供了格式为xUnit的XML,您可以将其发布到TFS。 如果您正在运行TFS 2015,我强烈建议您使用vNext版本,这样可以更轻松地运行这些版本。 检查“发布测试结果”构建步骤。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM