При кодировании моих модульных тестов с использованием UnitTest ++ я сталкиваюсь с неприятностью. Мне интересно, как получить доступ к закрытым полям класса члена чистым способом (или, может быть, любым способом ...)
К настоящему времени у меня есть решение для доступа к защищенным членам , используя фикстуру класса, полученную из тестируемого класса. Следующий код показывает идею:
struct MyFixture : ClassUnderTest { };
TEST_FIXTURE(MyFixture, OneTest)
{
do_something();
CHECK(protected_field == true);
}
Тем не менее, я думаю, что это не очень чисто, потому что проблемы, связанные с наследованием, могут возникнуть в некоторых конфигурациях, и, в любом случае, только защищенные члены могут быть доступны и протестированы.
Я пытался объявить тестовые классы как друзей , но так как они созданы каким-то особым образом UnitTest ++, мне пока не удалось это сделать.
Кто-нибудь знает, как подружить тестовые классы с тестируемыми классами?
Есть ли другой способ решения этой проблемы более простым или иным способом?
Спасибо всем заранее.