Google测试函数setup()和teardown()会针对每个测试用例或整个测试套件调用

google test functions setup() and teardown() is called for each test case or for the whole testsuit

本文关键字:测试 测试用例 调用 套件 setup 函数 teardown Google      更新时间:2023-10-16

我正在使用谷歌测试,并试图编写测试fixture来测试源代码,在测试fixture中,有几个测试用例定义。

SetUp()TearDown()函数,对于这些函数,如果有定义,它们是为每个测试用例调用还是只为整个测试套装调用一次?

每个测试用例都有自己的fixture,所以每次都调用它们。

Googletest不会在多个测试中重用相同的测试fixture对象。对于每个TEST_F, googletest将创建一个新的测试夹具对象,立即调用SetUp(),运行测试体,调用TearDown(),然后删除测试夹具对象。源

您可以通过简单地添加cout语句来验证每个测试都调用了它们:

in SetUp():

cout << "SetUp calledn";

in TearDown():

cout << "TearDown calledn";

运行测试并查看输出;然后您可以看到它是被称为每个测试还是每个套件。