我有一个测试夹具类,目前许多测试都在使用它。
#include <gtest/gtest.h>
class MyFixtureTest : public ::testing::Test {
void SetUp() { ... }
};
我想创建一个参数化测试,它还使用 MyFixtureTest 必须提供的所有功能,而无需更改我现有的所有测试。
我怎么做?
我在网上找到了类似的讨论,但没有完全理解他们的答案。
原文由 des4maisons 发布,翻译遵循 CC BY-SA 4.0 许可协议
问题在于,对于常规测试,您的夹具必须从 testing::Test 派生,而对于参数化测试,它必须从 testing::TestWithParam<> 派生。
为了适应这种情况,您必须修改您的夹具类才能使用您的参数类型
这样,您可以在使用创建参数化测试时保持所有现有测试不变