是否有人试图将开玩单元测试与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:真
答案 0 :(得分:7)
在Merlin's answer上进行扩展,以下是我如何为TFS2015 vNext版本实现发布游戏测试结果和代码覆盖率(我正在使用create-react-app样板文件):
首先在运行代理的服务器上安装所需的软件包:
npm install -g jest-json-to-tap
npm install -g tap-xunit
配置jest输出json,通过将package.json中的“test”任务更改为: “test”:“react-scripts test --env = jsdom --json”,
在package.json中配置jest选项: “jest”:{“coverageReporters”:[“cobertura”]}
创建了一个vNext版本(TFS2015v4),其中包含以下任务:
一个。 “npm”任务,命令=运行,参数=测试 - --coverage | jest-json-to-tap | tap-xunit> TEST-为result.xml
湾“发布测试结果”任务,格式= JUnit
℃。 “公共代码覆盖率结果”任务,代码覆盖率工具= Cobertura,摘要文件= $(Build.Repository.LocalPath)\ coverage \ cobertura-coverage.xml
注意: - 测试结果不包括时间和组件 - 未来可以延伸......
瞧'!运行此构建将正确发布测试结果和代码覆盖率统计信息,以及报告工件。
答案 1 :(得分:4)
我不确定jest,但是有一个简洁的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版本,这样可以更轻松地运行这些版本。检查“发布测试结果”构建步骤。
答案 2 :(得分:0)
如果您使用XAML版本运行,此链接将为您提供帮助:Javascript Unit Tests on Team Foundation Service with Chutzpah
如果您使用vNext版本运行,请尝试在this blog中使用Jasmine.JS测试(也是一种JavaScript测试)中提到的详细步骤。