dotCover 不为所有程序集生成覆盖范围
dotCover not generating coverage for all assemblies
我已经使用 .xml
将 dotCover 设置为 运行
<?xml version="1.0" encoding="utf-8"?>
<CoverageParams>
<TargetExecutable>
c:\dotcover\xunit\xunit.console.exe
</TargetExecutable>
<TargetArguments>
"INWK.Configuration.UnitTests.dll"
</TargetArguments>
<TargetWorkingDir>
..\bin\x64\Debug\
</TargetWorkingDir>
<TempDir>
<!-- Directory for auxiliary files. Set to the system temp by default. -->
</TempDir>
<Output>
dotCover-xunit.dcvr
</Output>
<InheritConsole>
<!-- [True|False] Lets the application being analyzed to inherit dotCover console. True by default. -->
</InheritConsole>
</CoverageParams>
您可以看到(服务、共享、单元测试程序集正确包含在测试覆盖率报告中(共享、服务和单元测试程序集)
但是,当 运行在构建服务器上使用相同的 *Service 和 *Shared 时会丢失。
将 Service.dll 和 Shared.dll 及其 "pdb's" 从本地副本替换到构建服务器并再次 运行ning dotCover 在构建服务器上后,它可以正常工作。
这让我相信构建服务器 运行ner 在 运行 在本地构建时与 VS 中的 msbuild.exe 做了一些不同的事情。
我在这里发现了非常相似的问题描述:环境,但不确定如何在我的构建服务器配置中解决这个问题。
跟踪日志输出(一个驱动器)
https://1drv.ms/t/s!AtxuuqGHIqXwgTVqQJ_Y_-rGE8W9?e=HrZgj7
找到解决方案:
在我的 dotcover 配置中 xml 我必须添加:-noshadow 开关,如下所示:
<CoverageParams>
<TargetExecutable>
c:\dotcover\xunit\xunit.console.exe
</TargetExecutable>
<TargetArguments>
"INWK.OrderIndexing.UnitTests.dll" -noshadow
</TargetArguments>
<TargetWorkingDir>
..\bin\x64\Release\
</TargetWorkingDir>
...
现在所有程序集(我确实要过滤的程序集除外)都显示出来了
我已经使用 .xml
将 dotCover 设置为 运行<?xml version="1.0" encoding="utf-8"?>
<CoverageParams>
<TargetExecutable>
c:\dotcover\xunit\xunit.console.exe
</TargetExecutable>
<TargetArguments>
"INWK.Configuration.UnitTests.dll"
</TargetArguments>
<TargetWorkingDir>
..\bin\x64\Debug\
</TargetWorkingDir>
<TempDir>
<!-- Directory for auxiliary files. Set to the system temp by default. -->
</TempDir>
<Output>
dotCover-xunit.dcvr
</Output>
<InheritConsole>
<!-- [True|False] Lets the application being analyzed to inherit dotCover console. True by default. -->
</InheritConsole>
</CoverageParams>
您可以看到(服务、共享、单元测试程序集正确包含在测试覆盖率报告中(共享、服务和单元测试程序集)
但是,当 运行在构建服务器上使用相同的 *Service 和 *Shared 时会丢失。
将 Service.dll 和 Shared.dll 及其 "pdb's" 从本地副本替换到构建服务器并再次 运行ning dotCover 在构建服务器上后,它可以正常工作。
这让我相信构建服务器 运行ner 在 运行 在本地构建时与 VS 中的 msbuild.exe 做了一些不同的事情。
我在这里发现了非常相似的问题描述:环境,但不确定如何在我的构建服务器配置中解决这个问题。
跟踪日志输出(一个驱动器) https://1drv.ms/t/s!AtxuuqGHIqXwgTVqQJ_Y_-rGE8W9?e=HrZgj7
找到解决方案: 在我的 dotcover 配置中 xml 我必须添加:-noshadow 开关,如下所示:
<CoverageParams>
<TargetExecutable>
c:\dotcover\xunit\xunit.console.exe
</TargetExecutable>
<TargetArguments>
"INWK.OrderIndexing.UnitTests.dll" -noshadow
</TargetArguments>
<TargetWorkingDir>
..\bin\x64\Release\
</TargetWorkingDir>
...
现在所有程序集(我确实要过滤的程序集除外)都显示出来了