Я новичок в googletest и пытаюсь написать юнит-тесты на C ++ с использованием каркаса googletest, код выглядит так:
class TestInterface : public ::testing::Test
{
protected:
static void SetUpTestCase()
static void TearDownTestCase()
} ;
class Algo1Interface : public TestInterface
{
public:
virtual loadConfig(Inputs, Outputs);
protected:
virtual void SetUp() { /* Small per test set up */ }
virtual void TearDown() { /* Small per test cleanup */ }
};
Теперь мне нужно извлечь еще один Algo...
тестовый интерфейс из Algo1Interface
, чтобы я мог использовать публичные функции Algo1Interface
в отдельных тестовых приборах.
Например:
class Algo2Interface : public Algo1Interface
{
public:
virtual void SetUp() { /* Small per test set up */ }
virtual void TearDown() { /* Small per test cleanup */ }
};
Чтобы написать тесты по креплению, например:
TEST_F( Algo1Interface, test1_1 )
{
// Do tests
}
TEST_F( Algo1Interface, test1_2 )
{
// Do tests
}
TEST_F( Algo2Interface, test2_1 )
{
// Use the public functions of Algo1Interface class(loadConfig)
// Do tests
}
Вопрос:
- Можно ли это сделать?
- Если так, может кто-нибудь объяснить, как это сделать?
Я пытался исследовать эту проблему, но не смог найти подходящего решения.