В приведенном ниже примере я хотел бы имитировать класс TestB, поскольку класс TestA имеет внешнюю зависимость.
Пример кода:
*file : testA.h*
template <typename s>
class TestA : public class TestBase
{
.....
struct ConstructionToken
{
//`Code for construction token`
};
explicit TestA(ConstructionToken&& token) noexcept
: TestBase(token.ID, token.Con)
.....
};
*file : testB.h*
class TestB : public class TestA
{
.....
TestB(ConstructionToken&& token)
: TestA<TestB>(std::move(token)){}
.....
};
*file : testC.h*
class TestC : public class TestB
{
.....
TestC(ConstructionToken&& token)
: TestB(std::move(token)){}
.....
};
Тестовый код:
*File : Dependency_test.cpp*
TEST_F(DependencyCheckTest, DependencyCase1)
{
.......
// auto token = preconstruct the instance.
TestC cObj(std::move(token));
}
Вопрос В объекте тестового кода, созданном для класса TestC.
- Есть ли способ смоделировать конструктор класса TestB? класс TestA имеет внешнюю зависимость, поэтому мне не нужно вызывать TestA.
Примечание. Помимо конструктора, я могу имитировать другие методы.