Saya menemukan diskusi tentang Apakah Anda menguji metode pribadi informatif.
Saya telah memutuskan, bahwa di beberapa kelas, saya ingin memiliki metode yang dilindungi, tetapi mengujinya. Beberapa metode ini statis dan pendek. Karena sebagian besar metode publik memanfaatkannya, saya mungkin akan dapat dengan aman menghapus tes nanti. Tetapi untuk memulai dengan pendekatan TDD dan menghindari debugging, saya benar-benar ingin mengujinya.
Saya memikirkan hal berikut:
- Metode Obyek seperti yang disarankan dalam jawaban tampaknya terlalu banyak untuk ini.
- Mulailah dengan metode publik dan ketika cakupan kode diberikan oleh tes tingkat yang lebih tinggi, jadikan kode tersebut terlindungi dan hapus tes.
- Mewarisi kelas dengan antarmuka yang dapat diuji membuat metode yang dilindungi publik
Yang merupakan praktik terbaik? Apakah ada hal lain?
Tampaknya, JUnit secara otomatis mengubah metode yang dilindungi menjadi publik, tapi saya tidak melihatnya lebih dalam. PHP tidak mengizinkan ini melalui refleksi .