如何仅为WinForms应用的mnutest_Click方法生成OpenCover报告?
如何用OpenCover仅统计指定方法的代码覆盖率
场景说明
你的WinForms应用启动类为frmmain,包含两个方法:
frmmain_Shown:加载界面数据的初始化方法,无需统计覆盖率mnutest_Click:目标测试方法,需要单独统计覆盖率
原使用的OpenCover命令中,-filter:"+[Winforms]Winforms.frmmain"仅指定了目标类,导致类内所有方法都被纳入统计范围,不符合需求。
解决方案:精确指定方法级别的Filter
OpenCover支持通过Filter语法精确匹配单个方法,格式为:+[程序集名]命名空间.类名::方法名
修正后的完整命令
C:\>"Z:\OpenCover.4.7.1221\tools\OpenCover.Console.exe" ` -target:"Z:\Winforms.exe" ` -targetargs:"" ` -filter:"+[Winforms]Winforms.frmmain::mnutest_Click" ` -output:"Z:\opencovertest.xml" ` -oldstyle ` -communicationtimeout:700000 ` -mergebyhash
关键说明
[Winforms]:指定你的WinForms程序集名称(与exe文件名一致)Winforms.frmmain:类的完整命名空间+类名::mnutest_Click:精确指定要统计的方法名
这样配置后,OpenCover只会统计mnutest_Click方法的代码覆盖率,自动跳过frmmain_Shown及类内其他未指定的方法。
内容的提问来源于stack exchange,提问作者Research Guy IT
相关产品推荐
相关产品推荐

