Який найкращий спосіб з’єднати тестові захищені та приватні методи в Ruby, використовуючи стандартну Test::Unit
рамку Ruby ?
Я впевнений, що хтось відповість і догматично стверджує, що "ви повинні використовувати лише тестування загальнодоступних методів; якщо воно потребує одиничного тестування, воно не повинно бути захищеним чи приватним методом", але мені не дуже цікаво обговорювати це. У мене є кілька методів , які є захищеними або приватними з поважних причин, ці приватні / захищені методи є помірно складними, і відкритими методи в класі залежать від цих охоронюваних / приватних методів функціонування правильно, тому мені потрібен спосіб перевірити захищені / приватні методи.
І ще одне ... Я, як правило, всі методи для даного класу кладу в один файл, а одиничні тести для цього класу - в інший файл. В ідеалі, я хотів би, щоб вся магія була реалізована ця функціональна перевірка захищених та приватних методів у тестовому файлі одиниці, а не в основному вихідному файлі, щоб головний вихідний файл був максимально простим та простим.