【发布时间】:2018-08-12 02:11:00
【问题描述】:
我有一个简单的 Jenkins 构建配置,用于 .Net Framework 项目。该项目使用单元测试。
当我在 Jenkins 下使用 VSTestRunner 插件运行测试时,它会生成测试报告 .trx 以及 .coverage 文件。所有测试均已找到并正常运行,但生成的 .coverage 文件始终为空(10B 大小且没有覆盖数据)。 我试图在 Jenkins 中将该命令作为 Shell Execution 命令提供。但它仍然给出相同的结果,即空的 .coverage 文件。 命令是:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "CompletePathToLibraries.UnitTest.dll" /Enablecodecoverage /InIsolation /Framework :Framework45 /Logger:trx
但是,如果我从 Jenkins 外部运行相同的命令,即通过手动启动命令提示符,它会生成完美的 .coverage 文件,其中包含预期的数据。
系统配置: 视窗 10 专业版 詹金斯 2.121.2 视觉工作室企业 2017 Jenkins 作为服务安装并在 NT AUTHORITY\SYSTEM 帐户下运行。
【问题讨论】:
标签: .net visual-studio unit-testing jenkins code-coverage