某些代码未从代码覆盖范围中删除

时间:2019-02-01 13:56:58

标签: c++ qt code-coverage lcov

我想为我的 Qt / C ++ 项目生成一个代码覆盖率报告。

我有一个简短的版本,它的类继承了 QObject

#include <QObject>

class Baba : public QObject {
    Q_OBJECT

public:
    Baba();

    void mange(int a);

signals:
    void pouet();
};

我首先添加此编译标志:

QMAKE_CXXFLAGS += --coverage
QMAKE_LFLAGS += --coverage

执行测试后,我执行以下步骤:

$ gcov main.cpp
$ lcov --capture --directory . --output-file capture.info
$ lcov --remove capture.info "*Qt*.framework*" "*.h" "*Xcode.app*" "*moc_*" --output-file filtered.info
$ genhtml filtered.info --output-directory out 

不幸的是,尽管我在删除步骤中添加了moc_Baba.cpp,但文件"*moc_*"仍然有用。

我想念什么?

1 个答案:

答案 0 :(得分:0)

检查this post后,我设法通过将moc_*替换为"*moc_*"来删除"$$OUT_PWD/moc_*"文件。