Die integrierten Behauptungen von
JUnit 5 können in die folgenden Kategorien unterteilt werden:
werden verwendet, um eine einfache Überprüfung eines einzelnen Werts durchzuführen. Zum Beispiel:
Methode | Beschreibung |
---|---|
assertEquals | Bestimmen Sie, ob zwei Objekte oder zwei primitive Typen gleich sind. |
assertNotEquals | Bestimmen Sie, ob zwei Objekte oder zwei primitive Typen gleich sind Typen sind nicht gleich |
assertSame | Bestimmen Sie, ob zwei Objektreferenzen auf dasselbe Objekt zeigen. |
assertNotSame | Bestimmen Sie, ob zwei Objektreferenzen auf verschiedene Objekte zeigen. |
assertTrue | Bestimmen Sie, ob der angegebene boolesche Wert wahr ist |
assertFalse | Bestimmen Sie, ob der angegebene boolesche Wert falsch ist |
assertNull | Bestimmen Sie, ob die angegebene Objektreferenz null ist |
assertNotNull | Bestimmen Sie, ob die angegebene Objektreferenz nicht null ist |
package com.limi.springboottest2; import org.junit.jupiter.api.*; import org.springframework.boot.test.context.SpringBootTest; import static org.junit.jupiter.api.Assertions.*; @SpringBootTest public class JTest5 { @Test public void simple() { assertEquals(3, 1 + 2, "simple math"); System.out.println(1); assertNotEquals(3, 1 + 1); System.out.println(2); assertNotSame(new Object(), new Object()); System.out.println(3); Object obj = new Object(); assertSame(obj, obj); System.out.println(4); assertFalse(3 > 2); System.out.println(5); assertTrue(1 < 2); System.out.println(6); assertNull(null); System.out.println(7); assertNotNull(new Object()); System.out.println(8); } }
//不相等抛出异常 @Test public void array() { assertArrayEquals(new int[]{1, 2}, new int[] {1, 2, 3}); }
//除非填写的断言都为真, 否则抛出异常 @Test public void all() { assertAll("Math", () -> assertEquals(2, 1 + 1), () -> assertTrue(1 > 5), () -> assertNotNull(null) ); }
Beachten Sie, dass die dritte Behauptung trotzdem ausgeführt wird, wenn die zweite Behauptung falsch ist, was bedeutet, dass die in der AssertAll()-Methode b ausgefüllten Behauptungen ausgeführt und beurteilt werden
4. Ausnahmezusicherung in JUnit4 Wenn Sie die abnormale Situation einer Methode testen möchten, ist es immer noch problematisch, die mit @Rule annotierte ExpectedException-Variable zu verwenden. JUnit5 bietet eine neue Assertionsmethode, Assertions.assertThrows(), die mit funktionaler Programmierung verwendet werden kann.@Test public void exceptionTest() { ArithmeticException exception = Assertions.assertThrows( //当没有异常时, 扔出断言异常 ArithmeticException.class, () -> System.out.println(5/ 2)); }
5. Timeout-Assertion
JUnit5 bietet auch Assertions.assertTimeout(), um ein Timeout für die Testmethode festzulegen.@Test@DisplayName("超时测试")public void timeoutTest() { //如果测试方法执行时间超过设置的时间将会抛出异常 Assertions.assertTimeout(Duration.ofMillis(1000), () -> Thread.sleep(5000)); }
6. Ein schneller Fehler
schlägt den Test direkt durch die Fail-Methode fehl, die sicherstellt, dass nachfolgender Code nicht ausgeführt wird@Test public void shouldFail() { System.out.println("123456"); fail("This should fail"); System.out.println("888888"); }
Das obige ist der detaillierte Inhalt vonWas ist das Prinzip des SpringBoot-Behauptungsmechanismus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!