Perbandingan Anotasi JUnit: @Before vs. @BeforeClass vs. @AfterEach vs. @AfterClass
JUnit menyediakan beberapa anotasi untuk membantu ujian persediaan dan pembersihan. Memahami perbezaan halus antara anotasi ini adalah penting untuk penulisan ujian yang cekap.
@Before vs. @BeforeClass
@Sebelum dilaksanakan sebelum setiap individu kaedah ujian. Ia berguna untuk mencipta objek khusus ujian dan memulakan data.
@BeforeClass, sebaliknya, melaksanakan sekali sebelum mana-mana kaedah ujian dalam kelas. Ia biasanya digunakan untuk persediaan intensif secara pengiraan, seperti sambungan pangkalan data atau pemulaan aplikasi.
Contoh:
<code class="java">@BeforeClass public static void setUpClass() { connectToDatabase(); } @Before public void setUpTest() { initializeTestData(); }</code>
@After vs. @AfterClass
@After dilaksanakan selepas setiap kaedah ujian, manakala @AfterClass melaksanakan sekali selepas semua ujian dalam kelas telah dijalankan.
@After sering digunakan untuk membersihkan sumber dan mengesahkan keputusan ujian. @AfterClass sesuai untuk menutup sambungan atau melaksanakan tugas yang perlu dilakukan selepas semua ujian selesai.
Contoh:
<code class="java">@AfterClass public static void tearDownClass() { closeConnection(); } @After public void tearDownTest() { deleteTestData(); }</code>
Junit 5 Setara
Dalam JUnit 5, nama anotasi memberikan petunjuk yang lebih jelas tentang tujuannya:
Memilih anotasi yang sesuai untuk keperluan persediaan dan pembersihan ujian anda akan memastikan pelaksanaan ujian yang cekap dan boleh dipercayai.
Atas ialah kandungan terperinci Anotasi JUnit: Bila Perlu Menggunakan @Before, @BeforeClass, @AfterEach dan @AfterClass?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!