0

我正在尝试修改 PartCover 源代码以按方法排除覆盖率。但是,看起来主要逻辑在 c++ 代码中。由于调试时无法进入cpp代码,有人可以指导我需要修改哪些文件吗?我认为它应该是 rules.cpp 和 instrumentator.cpp ......并且由于对这些文件所做的更改,其他 .cpp .h 和 .cs 文件需要进行一些重构。但如果我错了,或者如果还有其他地方我也应该看,请告诉我。任何其他提示也将不胜感激。

谢谢,


感谢您的回复。但是,取消注释 DebugBreak 会导致 nunit-console-86.exe 停止工作。我将 NUnit 版本更改为 2.5.7 以使其与 PartCover bin 文件夹中的 nunit-framework.dll 版本匹配,但问题仍然存在。知道是什么原因造成的吗?

我们有自己的控制台应用程序,可以明智地运行覆盖率检查方法。它确保如果添加任何新方法,或重构现有方法中的代码,覆盖率仍应至少超过我们确定的百分比。有时,由于某种原因,有些方法无法完全完成测试。对于那些人来说,排除整个班级是没有意义的。

4

1 回答 1

0

您提到的文件可能是 C++ 代码中应用额外过滤器的最佳位置。我假设您有一种方法可以扩展当前用于模块和类的包含和排除过滤器的语法。

如果您取消注释 CorProfiler::Initialize 中的 DebugBreak,则可以调试代码(当您运行 .NET 进程并加载探查器时,这将允许您将 C++ 调试器附加到探查器)

请问为什么需要排除特定的方法?我可以看到需要排除类,即测试类等但不是特定的方法,这似乎可以在必要时更容易完成,只需忽略任何报告中的结果。

于 2011-07-21T09:46:52.490 回答