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
我正在使用 google 测试并尝试编写测试装置来测试源代码,在测试装置中,定义了几个测试用例。
有SetUp()
和TearDown(
) 函数,对于那些函数,如果有定义,它们是为每个测试用例调用还是只为整个测试用例调用一次?
每个测试用例都有自己的夹具,因此每次都会调用它们。
您可以验证是否为每个测试调用了它们,只需输入一些 cout,例如:
在SetUp()
中:
cout<<"SetUp called\n";
在TearDown()
中:
cout<<"TearDown called\n";
运行 你的测试并查看输出,如果它只被调用一次或多次,你看看它是按测试还是按套件调用。
Googletest 不会在多个测试中重复使用相同的测试夹具对象。对于每个 TEST_F,googletest 将创建一个新的测试夹具对象,立即调用 SetUp()
、运行 测试主体,调用 TearDown()
,然后删除测试夹具对象。 Source