我正在使用谷歌测试并尝试编写测试夹具来测试源代码,在测试夹具中,定义了几个测试用例。
有SetUp()
和TearDown(
)函数,对于这些函数,如果已定义,它们是针对每个测试用例调用还是仅针对整个测试诉讼调用一次?
答案 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