Saat melakukan siklus Merah, Hijau & Refactor kita harus selalu menulis kode minimum untuk lulus tes. Ini adalah cara saya telah diajarkan tentang TDD dan cara hampir semua buku menggambarkan prosesnya.
Tetapi bagaimana dengan logging?
Jujur saya jarang menggunakan logging dalam aplikasi kecuali ada sesuatu yang benar-benar rumit yang terjadi, namun, saya telah melihat banyak posting yang berbicara tentang pentingnya logging yang tepat.
Jadi selain membuat pengecualian, saya tidak bisa membenarkan pentingnya login dalam aplikasi teruji yang tepat (tes unit / integrasi / penerimaan).
Jadi pertanyaan saya adalah:
- Apakah kita perlu login jika kita melakukan TDD? tidakkah tes yang gagal mengungkapkan apa yang salah dengan aplikasi tersebut?
- Haruskah kita menambahkan tes untuk proses logging di setiap metode di setiap kelas?
- Jika beberapa level log dinonaktifkan di lingkungan produksi misalnya, bukankah itu akan menyebabkan ketergantungan antara tes dan lingkungan?
- Orang-orang berbicara tentang bagaimana log memudahkan debugging, tetapi salah satu keuntungan utama tentang TDD adalah bahwa saya selalu tahu apa yang salah karena tes yang gagal.
Apakah ada sesuatu yang saya lewatkan di sana?