2
我希望爲我的Google測試夾具定義一個不可實例化的超類。 超級會初始化成員並進行一些默認測試。 子類將擴展超類,並進行特定的測試。不可實例化的Google測試夾具超類
以下是基類:
class BaseTest : public ::testing::Test
{
protected:
BaseTest(...) {} // constructor with args to setup members
void SetUp() {} // sets up the internals
};
TEST_F(BaseTest, ACommonTest) {} // common test case
派生類:
class DerivedTest : public BaseTest
public:
DerivedTest() : BaseTest(...) {} // default no args constructor
void SetUp() { BaseTest::SetUp(); }
};
TEST_F(DerivedTest, ASpecificTest) {} // specific test case
我要的是測試不實例化BaseTest,而不是實例 的DerivedTest並同時調用方法,ACommonTest和ASpecificTest。
它現在在做什麼,是實例化BaseTest並在其上運行 ACommonTest。然後實例化DerivedTest並運行ASpecificTest。