google-upgrade-googletest-case¶
查找使用已弃用的 Google Test 1.9 版 API 的情况,这些 API 的名称包含 case
,并将其替换为等效的带有 suite
的 API。
所有包含 case
的名称都被替换,以与国际软件测试资格委员会和 ISO 29119 使用的“测试用例”和“测试套件”的含义保持一致。
新名称是 Google Test 1.9 版(发布待定)的一部分。建议用户将其依赖项更新到 1.9 版,然后使用此检查删除已弃用的名称。
受影响的 API 为
testing::Test
、testing::TestInfo
、testing::TestEventListener
、testing::UnitTest
以及任何继承自这些类型的类型的成员函数宏
TYPED_TEST_CASE
、TYPED_TEST_CASE_P
、REGISTER_TYPED_TEST_CASE_P
和INSTANTIATE_TYPED_TEST_CASE_P
类型别名
testing::TestCase
此检查创建的修复示例
class FooTest : public testing::Test {
public:
static void SetUpTestCase();
static void TearDownTestCase();
};
TYPED_TEST_CASE(BarTest, BarTypes);
变成
class FooTest : public testing::Test {
public:
static void SetUpTestSuite();
static void TearDownTestSuite();
};
TYPED_TEST_SUITE(BarTest, BarTypes);
为了更好地保持用户代码的一致性,检查会重命名派生类型中具有匹配名称的虚拟和非虚拟成员函数。当修复无法安全执行时(例如某些模板和宏使用),检查会尝试仅提供警告。