我在gtest中有一个测试套件。我的Test Fixture类有两个测试,一个是Test_F(功能),一个是Test_F(性能)。我以这样一种方式实现了Test_F(性能)依赖于Test_F(功能)的运行。我想处理这种情况,当Test_F(functional)被禁用时。所以,我的方法是从Test_F(性能)内部调用Test_F(功能)。我不确定,这是如何在gtest中完成的,调用test_function,在另一个test_function内。如有任何帮助,不胜感激。
没有在另一个测试函数中调用测试函数的选项。然而,为了在测试用例之间共享代码,您可以在测试套件中定义一个助手方法:
class FooBarTestSuite : public ::testing::Test {
public:
TestSuite() {
// init code goes here
// foo and bar are accessible here
}
~TestSuite() {
// deinit code goes here
// foo and bar are accessible here
}
void CommonCode() {
// common test case code here
// foo and bar are accessible here
}
ClassFoo foo{};
ClassBar bar{};
};
TEST_F(FooBarTestSuite, PerformanceTest) {
CommonCode();
// performance-specific code here
}
TEST_F(FooBarTestSuite, FunctionalTest) {
CommonCode();
// functional-specific code here
}
为了运行一个特定的测试用例,使用--gtest_filter=*Performace*
或--gtest_filter=*Functional*
作为参数。