Jaki jest najlepszy sposób na testowanie jednostkowe metod chronionych i prywatnych w Rubim przy użyciu standardowego frameworka Rubiego Test::Unit
?
Jestem pewien, że ktoś się zepsuje i dogmatycznie zapewni, że „powinieneś testować jednostkowe tylko metody publiczne; jeśli wymaga testów jednostkowych, nie powinno to być metodą chronioną ani prywatną”, ale nie jestem zbyt zainteresowany debatowaniem nad tym. Mam kilka metod, które są chronione lub prywatne z dobrych i ważnych powodów, te metody prywatne / chronione są umiarkowanie złożone, a metody publiczne w klasie zależą od tych chronionych / prywatnych metod, które działają poprawnie, dlatego potrzebuję sposobu na przetestowanie metody chronione / prywatne.
Jeszcze jedno ... Generalnie wszystkie metody dla danej klasy umieszczam w jednym pliku, a testy jednostkowe dla tej klasy w innym pliku. Idealnie chciałbym, aby cała magia zaimplementowała tę funkcjonalność „testów jednostkowych metod chronionych i prywatnych” w pliku testu jednostkowego, a nie w głównym pliku źródłowym, aby główny plik źródłowy był tak prosty i bezpośredni, jak to tylko możliwe.