Apa sebenarnya penggunaan 'gagal' dalam kasus uji JUnit?
java
unit-testing
junit
junit4
Sanju
sumber
sumber
katakanlah Anda menulis kasus uji untuk aliran a -ve di mana kode yang sedang diuji harus memunculkan pengecualian
sumber
Saya pikir kasus penggunaan yang biasa adalah memanggilnya ketika tidak ada pengecualian yang dilemparkan dalam tes negatif.
Sesuatu seperti pseudo-code berikut:
sumber
Saya telah menggunakannya dalam kasus di mana ada sesuatu yang salah dalam metode @Before saya.
sumber
@Before
metode tersebut berhasil, mungkin lebih baik untuk memeriksanya secara langsung di metode tersebut. Sebagai bonus, setidaknya JUnit dan TestNG bahkan akan melaporkan kegagalan yang berbeda untuk kesalahan dari@Before
/@After
metode, jadi dapat dilihat bahwa masalahnya tidak ada dalam pengujian itu sendiri.Beginilah cara saya menggunakan metode Gagal.
Ada tiga status tempat uji kasus Anda dapat berakhir
dimaksudkan (Tidak seperti kasus uji negatif yang mengharapkan pengecualian terjadi).
Jika Anda menggunakan gerhana, ada tiga status yang masing-masing ditunjukkan oleh penanda Hijau, Biru, dan merah.
Saya menggunakan operasi gagal untuk skenario ketiga.
contoh: public Integer add (integer a, Integer b) {return new Integer (a.intValue () + b.intValue ())}
sumber
fail()
.Saya, misalnya, menggunakan
fail()
untuk menunjukkan tes yang belum selesai (itu terjadi); jika tidak, mereka akan tampil sebagai sukses.Ini mungkin karena fakta bahwa saya tidak mengetahui beberapa jenis fungsi yang tidak lengkap (), yang ada di NUnit.
sumber
Dalam pengaturan bersamaan dan / atau asynchronous, Anda mungkin ingin memverifikasi bahwa metode tertentu (misalnya delegasi, event listener, penangan respons, sebut saja) tidak dipanggil. Kerangka mengolok-olok samping, Anda dapat menelepon
fail()
metode tersebut untuk gagal dalam pengujian. Batas waktu kedaluwarsa adalah kondisi kegagalan alami lainnya dalam skenario semacam itu.Sebagai contoh:
sumber
Kasus penggunaan yang paling penting mungkin adalah pemeriksaan pengecualian.
Meskipun junit4 menyertakan elemen yang diharapkan untuk memeriksa jika terjadi pengecualian, sepertinya ini bukan bagian dari junit5 yang lebih baru. Keuntungan lain menggunakan
fail()
over theexpected
adalah Anda dapat menggabungkannya denganfinally
mengizinkan pembersihan kasus uji.Sebagaimana dicatat dalam komentar lain. Menguji gagal sampai Anda dapat menyelesaikan penerapannya juga terdengar masuk akal.
sumber