Heim Java JavaErste Schritte Verwendung des White-Box-Test-Frameworks (JUnit)

Verwendung des White-Box-Test-Frameworks (JUnit)

Nov 29, 2021 am 09:33 AM
junit

Junit-Framework:

Junit ist ein Open-Source-Java-Unit-Test-Framework.

Heute stellen wir junit5 vor. junit5 besteht aus drei verschiedenen Teilprojektmodulen, darunter Junit Platform, Junit Jupiter und Junit Vintage. Es unterstützt Java 8 und höher. Der Editor, den ich hier verwende, ist IntelliJ IDEA. Sie müssen nur das Endergebnis überprüfen, um festzustellen, ob die Methodenschnittstelle des gesamten Projekts reibungslos funktioniert. Jeder Unit-Testfall ist relativ unabhängig, wird von Junit gestartet und automatisch aufgerufen. Es müssen keine zusätzlichen Aufrufanweisungen hinzugefügt werden.

Testmethoden hinzufügen, löschen und blockieren, ohne andere Testmethoden zu beeinträchtigen.

Junit wird hauptsächlich für White-Box-Tests verwendet:

1 Testplanungsphase: Entwickeln Sie den Testplan gemäß der Anforderungsspezifikation.

2. Testentwurfsphase: Entsprechend der Funktion des Codes werden Testfälle manuell entworfen, um grundlegende Funktionstests durchzuführen. Gemäß der Programmieranleitung wird die Softwarestruktur aufgeteilt und Testfälle nach bestimmten standardisierten Methoden entworfen.

3. Testausführungsphase: Testfälle eingeben und Testergebnisse erhalten.

4. Phase der Testzusammenfassung: Vergleichen Sie die Testergebnisse mit den erwarteten Ergebnissen des Codes, analysieren Sie die Fehlerursache, finden und beheben Sie den Fehler.

Als nächstes stellen wir die darin enthaltenen Anmerkungen vor:

@Test: Stellt die Testmethode dar, ohne irgendwelche Attribute zu deklarieren.

@ParameterizedTest: Zeigt an, dass es sich bei der Methode um eine Testmethode handelt. Darüber hinaus kann diese Annotation auch die mehrfache Ausführung einer Testmethode mit verschiedenen Personen ermöglichen.

@RepeatedTest: Diese Annotation ermöglicht es der Testmethode, die Anzahl der wiederholten Läufe anzupassen.

@TestFactory: Zeigt an, dass eine Methode auf einer datengesteuerten dynamischen Testdatenquelle basiert.

@Displayname: Deklarieren Sie einen benutzerdefinierten Anzeigenamen für die Testklasse oder Testmethode.

@BeforeEach: Gibt an, dass die angegebene Methode ausgeführt wird, bevor jede Testmethode ausgeführt wird.

@AfterEach: Gibt an, dass die angegebene Methode ausgeführt wird, nachdem jede Testmethode ausgeführt wurde.

@BeforeAll: Diese Methode wird vor allen Testmethoden der aktuellen Klasse ausgeführt und kann Initialisierungscode enthalten.

@AfterAll: Wird nach allen Testmethoden der aktuellen Klasse ausgeführt.

@Disabled: Zeigt an, dass eine Testklasse oder -methode ungültig ist.

Behauptung:

Fehlgeschlagen: Behauptungstest fehlgeschlagen.

AssertTrue/asserFalse: Behauptet wahr oder falsch.

AssertNull/assertNotNull: Assert ist null oder nicht null.

assertEquals/assertNotEquals: Behaupten, dass zwei Werte ungleich sind.

AssertArrayEquals: Stellt sicher, dass alle Array-Elemente gleich sind.

AssertSame/assertNotSame: Bestätigt, ob zwei Objekte gleich sind.

AssertThrows/assertDoesNotThrow: Bestätigen, ob eine Ausnahme ausgelöst wird.

AssertAll: Stellen Sie sicher, dass mehrere Bedingungen erfüllt sind.

Unten erstellen wir eine Klasse und mehrere Methoden:

package test;//包机制
import java.lang.reflect.Array;
public class MixedOperation {
    public int mixeOperation(int x,int y){
        return division((x+y),y);
    }
    public int division(int x,int y){
        int result=(x/y);
        return result;
    }
    public static void main(String[] args) {
      MixedOperation mixedOperation=new MixedOperation();
      System.out.println(mixedOperation.mixeOperation(5,1));
    }
}
Nach dem Login kopieren

Wir erstellen eine Klasse namens MixedOperation;

package test;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
public class MixedOperationTest {
    private MixedOperation mixedOperation;
    @BeforeEach
    public void init(){
      mixedOperation=new MixedOperation();
    }
    @Test
    public void successTest(){
        System.out.println("run a test:x=4,y=2");
        int result=mixedOperation.mixeOperation(4,2);
        Assertions.assertEquals(3,result);
    }
   /* @DisplayName("失败")
    public void errorTest(){`
        System.out.println("run a test:x=4,y=0");
        ArithmeticException exception=new ArithmeticException(
                ArithmeticException.class -> {
            mixedOperation.mixeOperation(4, 0);
        }
        );
    }*/
    @Disabled("参数")
    @Test
    @DisplayName("参数")
    @ParameterizedTest
    @CsvSource({"6,3,3","5,2,3","6,2,4"})
    public void caTest(int x,int y,int excepted){
        System.out.println("run a test :x="+x+"y="+y);
        System.out.println(excepted);
        int t= mixedOperation.mixeOperation(x,y);
        Assertions.assertEquals(excepted,t);
    }
    @Disabled
    @Test
    public void  Next(){
       System.out.println("抛出一个异常");
       System.out.println(Assertions.assertThrows(IllegalArgumentException.class, () ->mixedOperation.mixeOperation(2,0)));
    }
    @Disabled
    @Test
    void error(){
        Assertions.assertThrows(Exception.class,()->{Assertions.assertEquals(1,0);});
    }
    @Test
    void sure(){
        int result=mixedOperation.mixeOperation(4,2);
        Assertions.assertTrue(3==result);//断言相等
    }
}
Nach dem Login kopieren

Hier erstellen wir einen Test namens MixedOperationTest Class;

Verwandte Empfehlungen: „Java-Video-Tutorial

Das obige ist der detaillierte Inhalt vonVerwendung des White-Box-Test-Frameworks (JUnit). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie werden Annotationen für Testmethoden im JUnit-Framework verwendet? Wie werden Annotationen für Testmethoden im JUnit-Framework verwendet? May 06, 2024 pm 05:33 PM

Anmerkungen im JUnit-Framework werden zum Deklarieren und Konfigurieren von Testmethoden verwendet. Zu den Hauptanmerkungen gehören: @Test (Deklaration von Testmethoden), @Before (Methodenausführung, bevor die Testmethode ausgeführt wird), @After (Methodenausführung, nachdem die Testmethode ausgeführt wird). ausgeführt wird), @ BeforeClass (Methode, die ausgeführt wird, bevor alle Testmethoden ausgeführt werden), @AfterClass (Methode, die ausgeführt wird, nachdem alle Testmethoden ausgeführt werden). Diese Anmerkungen helfen dabei, den Testcode zu organisieren und zu vereinfachen und die Zuverlässigkeit des Testcodes zu verbessern durch die Bereitstellung klarer Absichten und Konfigurationen.

JUnit Unit Testing Framework: Ein Tutorial für Anfänger JUnit Unit Testing Framework: Ein Tutorial für Anfänger Apr 18, 2024 pm 01:51 PM

JUnit ist ein Unit-Test-Framework für Java, das prägnante Tools zum Testen von Anwendungskomponenten bereitstellt. Nach der Installation der Abhängigkeiten können Sie eine Klasse testen, indem Sie eine Unit-Test-Klasse schreiben, die die @Test-Annotation enthält, und erwartete und tatsächliche Werte mithilfe von Assertionsmethoden wie „assertEquals“ überprüfen. JUnit bietet viele Funktionen wie Vorbereitungsmethoden, Fehlermeldungen und Timeout-Mechanismen.

Verwendung des JUnit-Unit-Test-Frameworks in einer Multithread-Umgebung Verwendung des JUnit-Unit-Test-Frameworks in einer Multithread-Umgebung Apr 18, 2024 pm 03:12 PM

Bei der Verwendung von JUnit in einer Multithread-Umgebung gibt es zwei gängige Ansätze: Single-Thread-Tests und Multi-Thread-Tests. Single-Thread-Tests werden im Hauptthread ausgeführt, um Parallelitätsprobleme zu vermeiden, während Multi-Thread-Tests in Arbeitsthreads ausgeführt werden und einen synchronisierten Testansatz erfordern, um sicherzustellen, dass gemeinsam genutzte Ressourcen nicht gestört werden. Zu den häufigen Anwendungsfällen gehört das Testen multithreadsicherer Methoden, etwa die Verwendung von ConcurrentHashMap zum Speichern von Schlüssel-Wert-Paaren, und gleichzeitiger Threads zum Bearbeiten der Schlüssel-Wert-Paare und zum Überprüfen ihrer Richtigkeit, was die Anwendung von JUnit in einer Multithread-Umgebung widerspiegelt .

JUnit-Unit-Test-Framework: Vorteile und Einschränkungen seiner Verwendung JUnit-Unit-Test-Framework: Vorteile und Einschränkungen seiner Verwendung Apr 18, 2024 pm 09:18 PM

Das Unit-Testing-Framework JUnit ist ein weit verbreitetes Tool, dessen Hauptvorteile automatisiertes Testen, schnelles Feedback, verbesserte Codequalität und Portabilität sind. Es weist jedoch auch Einschränkungen auf, darunter begrenzter Umfang, Wartungskosten, Abhängigkeiten, Speicherverbrauch und fehlende Unterstützung für kontinuierliche Integration. Für Unit-Tests von Java-Anwendungen ist JUnit ein leistungsstarkes Framework, das viele Vorteile bietet, bei der Verwendung müssen jedoch seine Einschränkungen berücksichtigt werden.

Anwendung des JUnit-Unit-Test-Frameworks in Spring-Projekten Anwendung des JUnit-Unit-Test-Frameworks in Spring-Projekten Apr 18, 2024 pm 04:54 PM

JUnit ist ein weit verbreitetes Java-Unit-Test-Framework in Spring-Projekten und kann mit den folgenden Schritten angewendet werden: JUnit-Abhängigkeit hinzufügen: org.junit.jupiterjunit-jupiter5.8.1test Testfälle schreiben: Verwenden Sie @ExtendWith(SpringExtension.class), um die Erweiterung zu aktivieren. Verwenden Sie @Autowired-Inject-Beans, verwenden Sie @BeforeEach und @AfterEach zum Vorbereiten und Bereinigen und markieren Sie Testmethoden mit @Test.

JUnit-Unit-Test-Framework: Tipps zum Ausführen von Testfällen im Debug-Modus JUnit-Unit-Test-Framework: Tipps zum Ausführen von Testfällen im Debug-Modus Apr 18, 2024 pm 03:54 PM

In JUnit können Sie Testfälle im Debug-Modus ausführen, indem Sie den BlockJUnit4ClassRunner-Runner mithilfe der Annotation @RunWith zuordnen. Legen Sie Haltepunkte fest, um die Ausführung anzuhalten und Variablen zu untersuchen. Verwenden Sie System.out.println(), um Informationen auszugeben und die Codeausführung zu verfolgen. Überprüfen Sie erwartete und tatsächliche Werte mithilfe der JUnitAssert-Assertionsmethoden.

Was sind die Best Practices für das JUnit-Unit-Test-Framework in Java? Was sind die Best Practices für das JUnit-Unit-Test-Framework in Java? Apr 18, 2024 pm 09:03 PM

Das Befolgen der Best Practices des JUnit-Unit-Testing-Frameworks ermöglicht eine effektive Codeüberprüfung: Schreiben Sie unabhängige Tests. Platzieren Sie Tests an geeigneten Stellen. Verwenden Sie Assertionen, um Ergebnisse mit Bedacht zu validieren. Befolgen Sie Namenskonventionen (beginnend mit Test). Schreiben Sie negative Tests. Verwenden Sie Mocking und Stubbing, um Abhängigkeiten zu isolieren. Vermeiden Sie die Verwendung von statischen Tests Variablen, um doppelten Code zu entfernen und die Testausführung zu automatisieren

JUnit-Unit-Test-Framework: Ein Leitfaden zur Lösung häufiger Speicherverlustprobleme JUnit-Unit-Test-Framework: Ein Leitfaden zur Lösung häufiger Speicherverlustprobleme Apr 18, 2024 pm 04:51 PM

Das JUnit-Unit-Test-Framework kann häufig auftretende Speicherleckprobleme effektiv lösen. Zu den häufigsten Leak-Problemen gehören persistente statische Variablenreferenzen und nicht geschlossene Ressourcen. JUnit bietet Leckdetektoren und Tools zur Analyse der Speichernutzung, um die Quelle von Lecks zu lokalisieren. Zu den Lösungen gehören die Verwendung lokaler Variablen, schwacher Referenzen, das korrekte Schließen von Ressourcen und die Verwendung von Try-with-Resources-Anweisungen. Durch Befolgen dieser Richtlinien können Entwickler zuverlässige und stabile JUnit-Testumgebungen erstellen.

See all articles