这是一个很基本的问题,应该有一个简单的解决方案。我想把我的单元测试项目的所有代码覆盖结果都写在一个解决方案中,在一个目录下输出。目前,所有的覆盖率输出文件都是写在各个测试项目文件夹中。我试着看了一下 coverlet github 的问题,其中他们提到他们有一个解决方法 (https:/github.comtonerdocoverletpull220。),将所有的覆盖文件合并成一个单一的文件,但我无法将它们放到我的解决方案目录中。
dotnet test .\MySolution.sln /p:CollectCoverage=true /p:CoverletOutput=/results/coverage /p:MergeWith=\results\coverage.json /p:CoverletOutputFormat='json%2copencover'
我正在苦恼的是,如何在 /p:CoverletOutput
参数。在dotnet cli中是否有一个特殊的参数来指向解决方案目录,类似于msbuild中的参数 $(MSBuildProjectDirectory)
?
如果有人对这个问题感兴趣的话,下面的脚本在windows机器上可以很好的工作。
dotnet test MySolution.sln /p:CollectCoverage=true /p:CoverletOutput=..\results\coverage
/p:MergeWith=..\results\coverage.json /p:CoverletOutputFormat=\"opencover,json\"