Inhaltsverzeichnis
Was ist testgetriebene Entwicklung?
JUnit5 und Mockito verstehen
Testgetriebene Entwicklung mit JUnit5 und Mockito
Schritt 1: Schreiben Sie einen nicht bestandenen Test
Schritt 3: Refaktorieren Sie den Code
Mocking with Mockito
Verwenden Sie Mockito für Simulationstests
Fazit
Heim Java javaLernprogramm Testgetriebene Entwicklung mit JUnit5 und Mockito

Testgetriebene Entwicklung mit JUnit5 und Mockito

Aug 19, 2023 pm 11:57 PM
mockito junit 测试驱动开发

Testgetriebene Entwicklung mit JUnit5 und Mockito

Test Driven Development (TDD) ist eine Softwareentwicklungsmethode, bei der Tests vor dem eigentlichen Code geschrieben werden. TDD hat aufgrund seines Schwerpunkts auf Codequalität und Wartbarkeit große Aufmerksamkeit erlangt. In diesem Artikel wird untersucht, wie man TDD mithilfe von JUnit5 und Mockito, zwei leistungsstarken Frameworks im Java-Ökosystem, effektiv implementiert.

Was ist testgetriebene Entwicklung?

Testgetriebene Entwicklung (Testgetriebene Entwicklung) ist ein iterativer Entwicklungsprozess. Entwickler schreiben zunächst Testfälle für neue Funktionen oder Features, schreiben dann die Mindestmenge an Code, um den Test zu bestehen, und überarbeiten den Code schließlich zur Optimierung. Dieser Ansatz verbessert das Design, reduziert Fehler und verbessert die allgemeine Wartbarkeit des Codes.

JUnit5 und Mockito verstehen

JUnit5 ist die neueste Version von JUnit, einem weit verbreiteten Unit-Testing-Framework in Java. Es führt mehrere neue Funktionen und Verbesserungen ein, die das Testen in Java einfacher und flexibler machen.

Mockito hingegen ist ein Mocking-Framework zum Erstellen von Scheinobjekten und zum Definieren ihres Verhaltens, das zum Testen von Code mit externen Abhängigkeiten nützlich ist.

Testgetriebene Entwicklung mit JUnit5 und Mockito

Schritt 1: Schreiben Sie einen nicht bestandenen Test

Der erste Schritt bei TDD besteht darin, einen Test zu schreiben, der fehlschlägt. Zu diesem Zweck definieren wir in JUnit5 eine mit @Test -

annotierte Methode
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class ExampleTest {

   @Test
   void shouldReturnTrueWhenNumberIsEven() {
       Example example = new Example();
       boolean result = example.isNumberEven(3);
       assertTrue(result);
   }
}

Nach dem Login kopieren

Dieser Test wird zunächst fehlschlagen, da wir die isNumberEven-Methode nicht in der Beispielklasse implementiert haben.

Nach einem fehlgeschlagenen Test schreiben wir gerade genug Code, um den Test zu bestehen. Zum Beispiel -

class Example {

   boolean isNumberEven(int num) {
       return num % 2 == 0;
   }
}
Nach dem Login kopieren

Führen Sie den Test erneut aus und wir sollten sehen, dass der Test bestanden wird, da die Methode isNumberEven jetzt korrekt prüft, ob eine Zahl gerade ist.

Schritt 3: Refaktorieren Sie den Code

Der letzte Schritt besteht darin, den Code zu verfeinern und zu optimieren, ohne sein Verhalten zu ändern. Obwohl unser Beispiel sehr einfach ist und möglicherweise kein Refactoring erfordert, kann dieser Schritt in komplexeren Fällen die Reduzierung der Redundanz, die Verbesserung der Lesbarkeit oder die Optimierung der Leistung umfassen.

Die chinesische Übersetzung von

Mocking with Mockito

lautet:

Verwenden Sie Mockito für Simulationstests

Verwenden Sie Mockito, um Scheinobjekte zu erstellen, wenn die zu testende Methode externe Abhängigkeiten beinhaltet. Dadurch können Methoden isoliert getestet werden −

import org.junit.jupiter.api.Test;
import org.mockito.Mockito;

import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;

class ExampleTest {

   @Test
   void shouldCallDependency() {
       // Arrange
       Dependency dependency = Mockito.mock(Dependency.class);
       Example example = new Example(dependency);

       // Act
       example.performAction();
		
       // Assert
       verify(dependency, times(1)).action();
   }
}
Nach dem Login kopieren

In diesem Test erstellen wir ein simuliertes Abhängigkeitsobjekt und überprüfen, ob die Aktionsmethode einmal aufgerufen wird, wenn wir die performAction-Methode für das Beispielobjekt aufrufen.

Fazit

Testgetriebene Entwicklung bietet in Kombination mit JUnit5 und Mockito eine solide Grundlage für das Schreiben von qualitativ hochwertigem, wartbarem Code. Durch das Verständnis des TDD-Zyklus und die effektive Nutzung dieser Frameworks können Entwickler ihre Testfähigkeiten und Codequalität erheblich verbessern.

Das obige ist der detaillierte Inhalt vonTestgetriebene Entwicklung mit JUnit5 und Mockito. 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)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
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)

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.

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-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.

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 .

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.

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

Java-Backend-Entwicklung: API-Unit-Test-Mocking mit Mockito Java-Backend-Entwicklung: API-Unit-Test-Mocking mit Mockito Jun 17, 2023 am 08:27 AM

Mit der Popularität des Internets ist die Java-Back-End-Entwicklung zu einem wichtigen Bereich geworden. Im Entwicklungsprozess ist Unit-Test ein sehr wichtiger Schritt, und Mockito ist ein hervorragendes API-Unit-Test-Simulationstool. In diesem Artikel wird die Verwendung von Mockito in der Java-Backend-Entwicklung vorgestellt. Was ist Mockito? Mockito ist ein Java-Framework, das Simulationsfunktionen für API-Unit-Tests in Form von Mock-Objekten bereitstellt. Scheinobjekte beziehen sich auf einige virtuelle Objekte, deren Verhalten von uns festgelegt wird

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.

See all articles