Доступ к защищенной функции/члену базового класса при тестировании дочернего класса с помощью теста GoogleC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Доступ к защищенной функции/члену базового класса при тестировании дочернего класса с помощью теста Google

Сообщение Гость »


Я увидел, что
этот вопрос очень похож на мой вопрос, но с одним отличием. Я пытаюсь получить доступ к защищенным членам не класса ToBeTested, а класса, производного от него. Я обновил решение, упомянутое в этом сообщении, в соответствии с моим вопросом. (Я использую онлайн-компилятор, поэтому не смог его скомпилировать из-за отсутствия файлов gtest)

Код: Выделить всё

class Base
{

public:
Base(const int  &config);
Base() = delete;
virtual ~Base();
protected:
virtual int pureVirtualFoo() = 0;
void fooToAccess();
int parameterToAccess;
};

class Child: public Base
{
public:
Child(const int  &config);
Child() = delete;
virtual ~Child();

protected:
int pureVirtualFoo()  { return 0; };
};

class ChildStub : public Child
{

public:
ChildStub(int config): Child(config){};
FRIEND_TEST(ChildTestFixture, test1);
};

class ChildTestFixture //: public ::testing::Test
{
protected:
std::unique_ptr stub;
int config = 0;
virtual void SetUp()
{
stub = std::unique_ptr( new ChildStub(config));
}
virtual void TearDown()
{
}
};

TEST_F(ChildTestFixture, test1)
{

stub->fooToAccess();
stub->parameterToAccess;
}


Источник: https://stackoverflow.com/questions/781 ... child-clas
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»