我有一个项目,包含我想测试的类和方法。我有另外一个测试方法的项目,测试我的主要项目的方法。当我运行覆盖测试时,我得到了测试方法代码的覆盖范围,没有我想要测试的方法的覆盖范围
我运行opencover测试,我生成reportgenerator报告,这个命令,我有一个.bet文件:
..\tools\OpenCover.Console.exe -register:user -target:"C:\myDllWithTests.dll" -output:"c:\coverage\opencovertests.xml"
.\ReportGenerator.exe "-reports:c:\coverage\opencovertests.xml" "-targetdir:c:\coverage\opencovertests.xml\reports"
我使用MSTest的测试。
问题是,在html报告中,我看到覆盖的代码是测试方法,而不是我测试主项目中的方法。
如何在结果中添加主要方法?
谢谢。
我试着添加targetargs,但结果是一样的。关于这篇文章,我知道,但他没有提供源代码,我怀疑测试是否与主代码相同,或者与其他dll不同。在我的情况下,问题是我只能得到测试组件的覆盖范围,而不是主要组件。 –
我已经尝试过这个过滤器:-filter:“+ [\ * *] \ * - [\ * * Tests] \ *”-mergebyhash但它不包含与测试相同的文件夹中的main.dll。 DLL。此外,我已经尝试了主DLL的完整名称,但仍然无法正常工作。 –
可能问题不在于OpenCover,而在于测试本身。 MSTest的输出是什么?您是否看到执行测试的统计信息,例如“1/1测试通过”? – CodeFuller