Найдутся ли люди, способные серьезно высказаться по теме.
Немного предистории, так сказать с какого вообще всплыла тема.
В С++ при тестирование нашел достойное применение, в общем то во всех остальных случаях
бесполезному, ключевому слову friend — тестирование закрытых методов и верификация закрытых полей.
Сейчас работаю на C++ CLI и C# во фреймворке. Здесь друзей нет, но зато есть reflection. По моему
мнению это еще лучше, потому как прдакшен код вообще не требует каких либо фишек, необходимых только
для тестирования. Но вот незадача, есть другое мнение — мнение моего менеджера, считающего что reflection
приводит к появлению obscure и fragile тестов. В этом есть конечно поинт, но я уверен что при правильном и
разумном использовании этой технологии тесты будут достаточно понятны и стабильны.
Ну короче есть предложение в целях тестирования отказываться от закрытых классов и их методов, а для верификации
полей использовать property.
Лично меня это ломает, я не хочу оттопыривать наружу ничего кроме интерфейса, поскольку есть понятие инкапсуляции.
Кто что думает? Помогите разобраться, привести веские доводы за и против