google 为每个测试用例或整个测试套件调用测试函数 setup() 和 teardown()

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

我正在使用 google 测试并尝试编写测试装置来测试源代码,在测试装置中,定义了几个测试用例。

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

每个测试用例都有自己的夹具,因此每次都会调用它们。

您可以验证是否为每个测试调用了它们,只需输入一些 cout,例如:

SetUp()中:

cout<<"SetUp called\n";

TearDown()中:

cout<<"TearDown called\n";

运行 你的测试并查看输出,如果它只被调用一次或多次,你看看它是按测试还是按套件调用。

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