Baru-baru ini saya menyelesaikan refactoring kotak hitam. Saya tidak dapat memeriksanya, karena saya tidak tahu cara mengujinya.
Pada level tinggi, saya memiliki kelas yang inisialisasi melibatkan mengambil nilai dari beberapa kelas B. Jika kelas B "kosong", itu menghasilkan beberapa default yang masuk akal. Saya mengekstrak bagian ini ke metode yang menginisialisasi kelas B ke default yang sama.
Saya belum mengetahui tujuan / konteks dari salah satu kelas, atau bagaimana mereka akan digunakan. Jadi saya tidak dapat menginisialisasi objek dari kelas B yang kosong dan memeriksa apakah ia memiliki nilai yang benar / melakukan hal yang benar.
Ide terbaik saya adalah menjalankan kode asli, hardcode dalam hasil metode publik tergantung pada anggota yang diinisialisasi, dan menguji kode baru terhadap hal itu. Saya tidak bisa mengartikulasikan mengapa saya merasa tidak nyaman dengan ide ini.
Apakah ada serangan yang lebih baik di sini?