Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mencuba Semula Ujian JUnit yang Gagal Serta-merta?

Linda Hamilton
Lepaskan: 2024-11-02 04:55:02
asal
1018 orang telah melayarinya

How to Retry Failed JUnit Tests Instantly?

Cuba Semula Ujian JUnit yang Gagal Serta-merta

Cuba menangani kegagalan ujian yang jarang berlaku disebabkan tindakan sensitif masa dalam suite ujian yang besar boleh mengecewakan. Berita baiknya ialah anda boleh melaksanakan TestRule untuk mencuba semula ujian yang gagal.

Mencipta RetryRule

TestRule memberi anda kawalan ke atas pelaksanaan ujian. Untuk mencipta RetryRule, tentukan kelas seperti ini:

<code class="java">public class RetryTest {
    public class RetryRule implements TestRule {
        ...
        public Statement apply(Statement base, Description description) {
            ...
        }
        ...
    }
}</code>
Salin selepas log masuk

Dalam kaedah gunakan, masukkan logik cuba semula anda di sekeliling panggilan ujian menggunakan base.evaluate():

<code class="java">public Statement apply(Statement, Description) {
    return new Statement() {
        @Override
        public void evaluate() throws Throwable {
            ...
            for (int i = 0; i < retryCount; i++) {
                ...
            }
            ...
        }
    };
}</code>
Salin selepas log masuk

Menggunakan RetryRule

Anotasi kelas ujian anda dengan Peraturan seperti ini:

<code class="java">...
@Rule
public Retry rule = new Retry(3);
...</code>
Salin selepas log masuk

Pilihan Lain

TestRunner Tersuai:

Sebagai alternatif, anda boleh membuat TestRunner tersuai yang memanjangkan BlockJUnit4ClassRunner dan mengatasi runChild() untuk melaksanakan mekanisme cuba semula.

Nota:

  • Peraturan Cuba Semula membenarkan anda untuk menentukan bilangan percubaan semula, manakala TestRunner tersuai tidak.
  • Anda juga boleh menggunakan anotasi untuk menggunakan logik cuba semula secara selektif.

Atas ialah kandungan terperinci Bagaimana untuk Mencuba Semula Ujian JUnit yang Gagal Serta-merta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan