Каков наилучший способ модульного тестирования защищенных и закрытых методов в Ruby с использованием стандартной среды Ruby Test::Unit
?
Я уверен, что кто-то придумает и догматично скажет, что «вы должны только тестировать общедоступные методы, если требуется модульное тестирование, это не должен быть защищенный или закрытый метод», но меня это не очень интересует. обсуждая это. У меня есть несколько методов, которые являются защищенными или частными по уважительным и уважительным причинам, эти частные / защищенные методы умеренно сложны, и публичные методы в классе зависят от того, работают ли эти защищенные / частные методы правильно, поэтому Мне нужен способ проверить защищенные / приватные методы.
Еще одна вещь ... Обычно я помещаю все методы для данного класса в один файл, а модульные тесты для этого класса - в другой файл. В идеале я хотел бы, чтобы вся магия реализовала эту функциональность «модульного теста защищенных и закрытых методов» в файле модульного теста, а не в основном исходном файле, чтобы сделать основной исходный файл максимально простым и понятным.