JUnit. Ia memperkenalkan beberapa ciri berkuasa dan peningkatan yang memudahkan untuk menulis, menyusun dan menjalankan ujian. Memahami ciri lanjutan ini boleh membantu anda mencipta suite ujian yang lebih mantap dan boleh diselenggara.
JUnit 5 ialah kemas kini utama kepada rangka kerja JUnit, direka bentuk untuk menjadi lebih fleksibel dan modular. Ia terdiri daripada tiga komponen utama:
import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; @DisplayName("Calculator Tests") class CalculatorTest { @Test @DisplayName("Addition Test") void testAddition() { assertEquals(2, 1 + 1, "1 + 1 should equal 2"); } }
import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; class OuterTest { @Nested class InnerTest { @Test void innerTest() { // Test logic here } } }
import org.junit.jupiter.api.DynamicTest; import org.junit.jupiter.api.TestFactory; import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.DynamicTest.dynamicTest; class DynamicTestsDemo { @TestFactory StreamdynamicTests() { return Stream.of(1, 2, 3, 4, 5) .map(number -> dynamicTest("Test number " + number, () -> assertTrue(number > 0))); } }
import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; class TaggingTest { @Test @Tag("fast") void fastTest() { // Fast test logic here } @Test @Tag("slow") void slowTest() { // Slow test logic here } }
import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.junit.jupiter.api.Assumptions.assumeTrue; class AssertionsDemo { @Test void testException() { assertThrows(IllegalArgumentException.class, () -> { throw new IllegalArgumentException("Exception message"); }); } @Test void testAssumption() { assumeTrue(5 > 1); // Test logic here } }
JUnit 5 membawakan banyak ciri baharu dan penambahbaikan yang menjadikannya alat yang berkuasa untuk ujian Java moden. Dengan memanfaatkan keupayaan lanjutan ini, anda boleh mencipta suite ujian yang lebih teratur, fleksibel dan boleh diselenggara, memastikan kod anda teguh dan boleh dipercayai.
Atas ialah kandungan terperinci Ujian Lanjutan dengan JUnit 5. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!