Apa cara terbaik untuk menguji unit metode terproteksi dan privat di Ruby, menggunakan Test::Unit
kerangka kerja Ruby standar ?
Saya yakin seseorang akan menyalurkan dan secara dogmatis menegaskan bahwa "Anda hanya harus menguji metode publik; jika perlu pengujian unit, itu tidak boleh menjadi metode yang dilindungi atau pribadi", tetapi saya tidak terlalu tertarik untuk memperdebatkannya. Aku punya beberapa metode yang sedang dilindungi atau swasta untuk kebaikan dan alasan yang sah, / metode ini swasta dilindungi yang cukup kompleks, dan metode umum di kelas tergantung dilindungi / metode ini swasta berfungsi dengan benar, karena itu saya perlu cara untuk menguji metode dilindungi / pribadi.
Satu hal lagi ... Saya biasanya meletakkan semua metode untuk kelas tertentu dalam satu file, dan tes unit untuk kelas itu di file lain. Idealnya, saya ingin semua keajaiban untuk mengimplementasikan fungsi "uji unit metode dilindungi dan pribadi" ini ke dalam file pengujian unit, bukan file sumber utama, untuk menjaga file sumber utama sesederhana dan sesederhana mungkin.