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