我使用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文件。
系统配置: Windows 10专业版 詹金斯2.121.2 Visual Studio企业版2017 Jenkins作为服务安装,并在NT AUTHORITY \ SYSTEM帐户下运行。
答案 0 :(得分:1)
我遇到了同样的问题,我只是这样解决:
我发现Jenkins服务器将使用与您的内置计算机用户不同的用户来执行cmd。因此,我决定更改uesr帐户,使其与我的内置计算机用户帐户相同。
然后,问题解决了!
希望此解决方案对您有帮助^^