【发布时间】:2017-03-17 15:58:15
【问题描述】:
我将googletest 与gcovr 结合使用,这会产生一些奇怪的行为。我有一个头文件foo.h,gcovr 声称有一些行没有被测试覆盖。这些行是类定义和移动构造函数:
File Lines Exec Cover Missing
foo.h 42 40 95% 39,47
第 39 行在哪里:
class foo
第 47 行是:
foo(foo&&) = default;
我尝试在测试体中使用std::move() 显式调用此函数,但无济于事。这个问题有解决方案吗,还是我坚持 99% 的覆盖率报告?
我应该注意,除了类定义和复制/移动语义(都定义为default)之外,此标头中没有实现;所有函数体都在foo.cpp。
【问题讨论】:
-
你有没有试过这样的测试代码:
Foo foo1; Foo foo2(std::move(foo1));? -
@PiotrNycz 是的,我已经尝试在测试用例中明确调用它
标签: c++ googletest gcovr