Qual è il modo migliore per testare unitamente metodi protetti e privati in Ruby, usando il Test::Unit
framework Ruby standard ?
Sono sicuro che qualcuno farà pipeline e affermerà dogmaticamente che "dovresti testare solo metodi pubblici unitari; se ha bisogno di test unitari, non dovrebbe essere un metodo protetto o privato", ma non sono davvero interessato a discuterne. Ho diversi metodi che sono protetti o privati per ragioni valide e valide, questi metodi privato / protetto sono moderatamente complessi e i metodi pubblici nella classe dipendono dal fatto che questi metodi protetti / privati funzionino correttamente, quindi ho bisogno di un modo per testare i metodi protetti / privati.
Un'altra cosa ... In genere inserisco tutti i metodi per una determinata classe in un file e l'unità testa per quella classe in un altro file. Idealmente, vorrei che tutta la magia implementasse questa funzionalità "unit test di metodi protetti e privati" nel file di unit test, non nel file sorgente principale, al fine di mantenere il file sorgente principale il più semplice e diretto possibile.