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

时间:2015-09-08 07:20:40

标签: c++ googletest

我正在使用谷歌测试并尝试编写测试夹具来测试源代码,在测试夹具中,定义了几个测试用例。

SetUp()TearDown()函数,对于这些函数,如果已定义,它们是针对每个测试用例调用还是仅针对整个测试诉讼调用一次?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

SetUp()中的

cout<<"SetUp called\n";
TearDown()中的

cout<<"TearDown called\n";

运行测试并查看输出,如果它只被调用一次或多次,你会看到每个测试或每个套件是否调用它。

答案 2 :(得分:0)

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