我想编写一个自定义的clang-tidy检查以将代码从cppunit移植到googletest。
class SomeTest: public CPPUNIT_NS::TestFixture {
CPPUNIT_TEST_SUITE(SomeTest);
CPPUNIT_TEST(shouldDoSomething);
CPPUNIT_TEST_SUITE_END();
...
protected:
void shouldDoSomething();
void otherFunction(int times = 0);
};
CPPUNITFRAMEWORK_TEST_SUITE_REGISTRATION(SomeTest);
...
void SomeTest::shouldDoSomething() {...}
void SomeTest::otherFunction(int) {}
我希望能够替换
void SomeTest::shouldDoSomething() {...}
使用
TEST_F(SomeTest, shouldDoSomething) {...}
我可以将CPPUNIT_TEST(...)
宏中的函数名称与
stringLiteral(hasAncestor(callExpr(callee(functionDecl(hasName("getTestNameFor"))))))
但是我不知道是否可以重复使用此信息以匹配函数声明,因此我实际上可以将其替换为googletest
。