Bagaimanakah saya menulis kod PHP yang boleh diuji?
Menulis kod PHP yang boleh diuji bergantung kepada mematuhi beberapa prinsip utama yang memberi tumpuan kepada modulariti, pemisahan kebimbangan, dan suntikan pergantungan. Elakkan kod yang digabungkan dengan ketat di mana kelas terlalu bergantung pada satu sama lain. Sebaliknya, berusaha untuk gandingan longgar, di mana komponen berinteraksi melalui antara muka yang jelas. Ini menjadikannya lebih mudah untuk menggantikan komponen dengan beregu ujian (ejekan, stub, dan lain -lain) Semasa ujian.
Khususnya, pertimbangkan perkara -perkara ini:
- Ini memastikan bahawa unit ujian anda adalah kecil, fokus, dan mudah diurus. Kelas dengan pelbagai tanggungjawab menjadi lebih sukar untuk menguji secara komprehensif. Ini membolehkan anda dengan mudah menggantikan kebergantungan dengan objek mengejek semasa ujian. Sebagai contoh, bukan kelas secara langsung mengakses pangkalan data, menyuntik objek interaksi pangkalan data sebagai kebergantungan. Ini membolehkan fleksibiliti dan kesesuaian. Anda kemudiannya boleh membuat pelaksanaan konkrit antara muka ini, dan dengan mudah menukarnya untuk pelaksanaan mengejek semasa ujian. Kaedah yang panjang dan kompleks sukar untuk diuji dengan teliti. Setiap kaedah sepatutnya melaksanakan satu operasi logik.
- Elakkan keadaan global: pembolehubah global dan kaedah statik membuat ujian sukar kerana mereka memperkenalkan kesan sampingan yang tidak dapat diramalkan. Kurangkan penggunaannya. Sebaliknya, lulus data secara eksplisit sebagai hujah kepada kaedah anda.
Apakah amalan terbaik untuk menulis ujian unit dalam php?
Berikut adalah beberapa pertimbangan utama:
- Undang -undang pertama ujian unit (mengatur, bertindak, menegaskan): struktur ujian anda menggunakan corak AAA. Susun menetapkan prasyarat yang diperlukan, Act melakukan tindakan yang diuji, dan menegaskan mengesahkan hasil yang diharapkan. Ini meningkatkan kebolehbacaan dan penyelenggaraan.
- Uji satu perkara pada satu masa: Setiap ujian harus memberi tumpuan kepada satu aspek fungsi. Elakkan menulis ujian yang memeriksa pelbagai perkara sekaligus. Sekiranya ujian gagal, ia harus jelas apa bahagian kod yang gagal. Nama ujian yang baik harus dibaca seperti ayat yang menerangkan fungsi yang diuji.
- Kes kelebihan ujian dan syarat sempadan: Jangan hanya menguji jalan gembira. Termasuk ujian untuk kes kelebihan, keadaan sempadan, dan pengendalian ralat untuk memastikan keteguhan. Elakkan kebergantungan antara ujian untuk mengelakkan kegagalan cascading.
- Liputan: berusaha untuk liputan kod tinggi, tetapi jangan biarkan ia menjadi metrik tunggal. Fokus pada ujian laluan kritikal dan kawasan yang terdedah kepada kesilapan.
Inilah caranya:
Atas ialah kandungan terperinci Bagaimana saya menulis kod php yang boleh diuji?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!