我想知道是否有可能告诉lcov忽略源文件中的某些行,即。不要将其报告为未访问。我正在寻找可以放在代码本身中的解决方案,例如:

int some_method(char some_var, char some_other_var)
{
    if(some_var == 'A')
    {
         if(some_other_var == 'B')
         {
               /* do some real stuff here */
         }
         else
         {
                LCOV_DO_NOT_REPORT_NEXT_LINE // **<-- this?? **
                NOT_IMPLEMENTED("A*")
         }
    }
    else
    {
         NOT_IMPLEMENTED("*")
    }

以及必要的背景:

像上面的代码这样的一大段代码正在一系列单元测试中进行测试,但是由于此代码仍在开发中,因此存在许多NOT_IMPLEMENTED("A*")宏,它们仅在屏幕上显示行号/文件名的消息,然后退出应用程序。对于未实现的分支没有测试,很显然,将在实现该功能时编写它们。

但是,lcov报告了这些NOT_IMPLEMENTED行,并且在覆盖率报告中它们看起来非常丑陋(即:它们的红线比例很高)。

我要求的是可能的,还是我们应该忍受这个?

最佳答案

您可以在源代码中使用以下内容作为注释。

http://ltp.sourceforge.net/coverage/lcov/geninfo.1.php

关于c++ - 如何告诉lcov忽略源文件中的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23264049/

10-10 06:01