Pertanyaan Berapa banyak yang harus dicakup oleh TestCase?


Saya belum pernah menulis tes yang benar sampai sekarang, hanya program kecil yang akan saya buang setelah tes berhasil. Saya sedang mencari melalui Python unittest modul dan tutorial di web, tetapi ada yang tidak jelas bagi saya.

Berapa banyak seharusnya TestCase penutup? Saya telah melihat contoh di web yang ada TestCase kelas hanya dengan satu metode, serta kelas yang menguji hampir seluruh fungsi yang tersedia.

Dalam kasus saya, saya mencoba menulis tes untuk filter mekar sederhana. Bagaimana menurut Anda saya harus mengatur kasus pengujian saya?


4
2018-02-08 18:48


asal


Jawaban:


Sederhananya: satu tes unit harus mencakup satu fitur program Anda. Hanya itu yang bisa dikatakan. Itu sebabnya mereka dipanggil tes unit.

Tentu saja, apa yang kami pahami dengan fitur dapat bervariasi. Pikirkan tentang bagian terkecil dari program Anda yang mungkin rusak atau tidak berfungsi seperti yang diharapkan. Pikirkan tentang persyaratan bisnis kode Anda. Itu adalah bagian yang Anda inginkan untuk diliput berdedikasi uji unit.

Biasanya, tes unit kecil, terisolasi dan atom. Mereka seharusnya mudah dimengerti, mereka harus gagal / lulus secara independen dari satu sama lain, dan seharusnya eksekusi cepat. Indikasi yang cukup baik dari tes unit yang tepat adalah pernyataan tunggal - jika Anda menemukan diri Anda menulis lebih banyak, Anda mungkin menguji terlalu banyak dan itu pertanda Anda membutuhkan lebih dari satu tes untuk fitur yang diberikan. Namun, ini bukan aturan ketat - kode yang lebih kompleks yang terlibat, tes unit yang lebih kompleks cenderung.

Saat menulis tes, itu mudah membagi fungsionalitas kode Anda dan uji bagian-bagian yang terpisah (ini akan memberi Anda gagasan tentang atomicity dari tes Anda). Misalnya, jika Anda memiliki metode itu memverifikasi input kemudian memanggil layanan dan akhirnya mengembalikan hasil, Anda biasanya ingin memiliki ketiganya (verifikasi, hubungi, kembali) langkah-langkah yang dicakup.


5
2018-02-08 19:04



Saya akan membuat satu TestCase dengan beberapa metode pengujian. Filter mekar memiliki semantik sederhana, jadi hanya satu TestCase. Saya biasanya menambahkan TestCase per fitur.


1
2018-02-08 18:54