Rumah > Java > javaTutorial > Bagaimana untuk Menguji Output Konsol dalam JUnit?

Bagaimana untuk Menguji Output Konsol dalam JUnit?

Mary-Kate Olsen
Lepaskan: 2024-12-22 07:02:30
asal
548 orang telah melayarinya

How to Test Console Output in JUnit?

Menguji Output Konsol dalam JUnit

Apabila menguji aplikasi lama dengan reka bentuk yang lemah, anda mungkin menghadapi kod yang menulis mesej ralat ke output standard. Untuk menegaskan output konsol sedemikian dalam JUnit, anda memerlukan cara untuk mengubah hala dan menangkap output.

Mengubah Hala Keluaran Konsol

Sistem Java boleh dikonfigurasikan untuk menghantar output konsol kepada aliran tertentu. Kami boleh memanfaatkan mekanisme ini untuk menangkap dan menguji output.

Menangkap Output dengan ByteArrayOutputStream

A ByteArrayOutputStream boleh digunakan untuk menangkap output konsol. Untuk melakukan ini, kami menggantikan strim output standard dengan strim baharu yang menulis kepada ByteArrayOutputStream.

Contoh:

private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
private final PrintStream originalOut = System.out;
private final PrintStream originalErr = System.err;

@Before
public void setUpStreams() {
    System.setOut(new PrintStream(outContent));
    System.setErr(new PrintStream(errContent));
}

@After
public void restoreStreams() {
    System.setOut(originalOut);
    System.setErr(originalErr);
}
Salin selepas log masuk

Menguji Output Konsol

Setelah output ditangkap, kita boleh menegaskan kandungannya menggunakan Kaedah assertEquals() JUnit.

Contoh Kes Ujian:

@Test
public void out() {
    System.out.print("hello");
    assertEquals("hello", outContent.toString());
}

@Test
public void err() {
    System.err.print("hello again");
    assertEquals("hello again", errContent.toString());
}
Salin selepas log masuk

Kesimpulan

Dengan mengubah hala keluaran konsol ke ByteArrayOutputStream dan menggunakan System.setXXX() untuk mengkonfigurasi strim sistem, anda boleh menguji dan menegaskan output konsol dengan berkesan dalam ujian JUnit anda.

Atas ialah kandungan terperinci Bagaimana untuk Menguji Output Konsol dalam JUnit?. 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