gtest - 为什么一个测试会影响其他人的行为?

时间:2018-04-30 19:14:43

标签: googletest

目前我有一个gtest,它有一个带有一些成员变量和函数的gtest对象。

我有一个简单的测试,以及稍后的更复杂的测试。如果我评论复杂的测试,我的简单测试运行完全正常。但是,当我包含其他测试时(即使我使用gtest_filter只运行第一个测试),我开始得到段错误。我知道如果不发布我的代码就无法进行调试,但我想我想在更高层次上了解更多这样的情况。我的理解是TEST_F在每次运行时构造/销毁一个新对象,那么测试的存在怎么可能影响另一个呢?特别是如果我进行过滤,那么行为应该完全相同吗?

1 个答案:

答案 0 :(得分:0)

TEST_F不会为每个测试构造/破坏一个新的“对象”(在这一点上,我认为这里的对象将被解释为要素测试类的实例)

在每次测试功能测试之前要执行的操作是调用SetUp方法,并在每次测试之后调用TearDown方法。 测试功能构造函数和析构函数仅被调用一次。

但是由于您未提供mvce,所以我们无法承担进一步的责任