Heim > Java > javaLernprogramm > Hauptteil

Was ist das Prinzip des SpringBoot-Behauptungsmechanismus?

王林
Freigeben: 2023-05-14 12:28:11
nach vorne
1498 Leute haben es durchsucht

Die integrierten Behauptungen von

JUnit 5 können in die folgenden Kategorien unterteilt werden:

1 Einfache Behauptungen

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
JTest5

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);
    }
}
Nach dem Login kopieren

Wenn die Behauptung als falsch beurteilt wird, wird das Programm sofort nach dem Auslösen einer Ausnahme beendet und der verbleibende Code wird nicht ausgeführt.

Was ist das Prinzip des SpringBoot-Behauptungsmechanismus?

2. Array-Behauptung

Verwenden Sie die AssertArrayEquals-Methode, um zwei Objekte zu beurteilen ob Arrays primitiver Typen gleich sind.

	//不相等抛出异常
    @Test
    public void array() {
        assertArrayEquals(new int[]{1, 2}, new int[] {1, 2, 3});
    }
Nach dem Login kopieren

Was ist das Prinzip des SpringBoot-Behauptungsmechanismus?

3. Die Methode „Combined Assertions“ akzeptiert mehrere Instanzen der Funktionsschnittstelle org.junit.jupiter.api.Executable als zu überprüfende Behauptungen. Diese Behauptungen können einfach über Lambda-Ausdrücke bereitgestellt werden.

	//除非填写的断言都为真, 否则抛出异常
    @Test
    public void all() {
        assertAll("Math",
                () -> assertEquals(2, 1 + 1),
                () -> assertTrue(1 > 5),
                () -> assertNotNull(null)
        );
    }
Nach dem Login kopieren

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 werdenWas ist das Prinzip des SpringBoot-Behauptungsmechanismus?

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));
    }
Nach dem Login kopieren

5. Timeout-AssertionWas ist das Prinzip des SpringBoot-Behauptungsmechanismus?

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));
    }
Nach dem Login kopieren

6. Ein schneller FehlerWas ist das Prinzip des SpringBoot-Behauptungsmechanismus?

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");
    }
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage