Win32应用程序中的代码覆盖率

时间:2010-06-01 08:59:00

标签: mfc winapi code-coverage

我们即将开始一个新项目。该项目的概念证明(PoC)仅使用Win32完成。该计划是为了充实PoC,整理丑陋的部分并满足项目业主的要求。

实际项目的一个要求是100%的代码覆盖率,但我可以看到未来的问题:如何使用Win32实现100%的代码覆盖率 - 消息泵将难以有效地测试?!我可以编译成一个DLL,但主应用程序中是否有代码不会被覆盖?

我正在考虑删除Win32代码并转移到MFC - 至少然后很多锅炉板的东西将被隐藏起来(因此覆盖范围内)。

对这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

  

我的意思是WndProc,但同样适用于WinMain。你怎么能对它进行单元测试呢?

我进行测试但不进行单元测试:我进行系统/集成测试。

如果你在调试器/分析器/代码覆盖率分析器下运行你的(整个)应用程序,那么当然你会发现(并且覆盖分析器会显示)WinMain等正在运行(正在被覆盖)

那么问题可能是,如何自动化整个应用程序的系统/集成测试?您可能拥有一个带有自动驱动GUI的测试框架;我不知道自己,但例如there's a list here。或者,如果验收测试套件是一系列非自动/手动测试,则(对客户端)可能是可接受的。

另见Should one test internal implementation, or only test public behaviour?