BoostTest: невозможно получить доступ к защищенным членам

Я использую BoostTest Framework (версия 1.57.0) с Turtle в качестве фиктивной библиотеки (версия 1.3.0).
Я могу получить доступ к открытым и закрытым функциям в тестовом примере, но не могу получить доступ к защищенным функциям.
Я могу издеваться над этими защищенными функциями с MOCK_BASE_CLASS от Turtle.
Пример:

RealClass.hpp
class RealClass
{
public:
void publicFunction();
protected:
void protectedFunction();
private:
void privateFunction();
};

RealClass_UnitTest.hpp
BOOST_AUTO_TEST_SUITE( RealClass_UnitTest );

BOOST_AUTO_TEST_CASE( RealClass_publicFunction)
{
RealClass  RealObject;
RealObject.publicFunction()  // Can be accessed and tested
}

BOOST_AUTO_TEST_CASE( RealClass_protectedFunction)
{
RealClass  RealObject;
RealObject.protectedFunction()  // Error: realClass::protectedFunction() is protected
}

BOOST_AUTO_TEST_CASE( RealClass_privateFunction)
{
RealClass  RealObject;
RealObject.privateFunction()  // Can be accessed and tested
}

BOOST_AUTO_TEST_SUITE_END();

Я не понимаю, почему я могу получить доступ к RealObject.privateFunction (), но не RealObject.protectedFunction ().

Я не настраивал среду тестирования, но я не могу найти места, где BoostTest разрешен доступ к закрытым членам.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]