Heim > Java > javaLernprogramm > Hauptteil

Wie teste ich Java-Funktionen mit Mockito?

王林
Freigeben: 2024-04-27 15:36:01
Original
697 Leute haben es durchsucht

Schritte zum Testen von Java-Funktionen mit Mockito: Mockito-Abhängigkeit hinzufügen. Erstellen Sie Scheinobjekte und legen Sie Scheinverhalten fest. Rufen Sie die zu testende Funktion auf. Bestätigen Sie das erwartete Verhalten einer Funktion. Verwenden Sie verify(), um simulierte Interaktionen zu überprüfen.

Wie teste ich Java-Funktionen mit Mockito?

Wie man Java-Funktionen mit Mockito Unit-Tests durchführt

Wenn es um Unit-Tests in Java geht, ist Mockito ein beliebtes Mocking-Framework, mit dem Sie Test-Doubles erstellen können, um externe Abhängigkeiten zu simulieren. Das Testen von Java-Funktionen ist mit Mockito sehr einfach.

Abhängigkeiten

Bevor Sie beginnen, stellen Sie sicher, dass Sie die Mockito-Abhängigkeiten in Ihr Projekt einbeziehen:

<dependency>
  <groupId>org.mockito</groupId>
  <artifactId>mockito-core</artifactId>
  <version>4.6.1</version>
  <scope>test</scope>
</dependency>
Nach dem Login kopieren

Erstellen Sie eine Testklasse

Um eine Funktionstestklasse zu erstellen, erstellen Sie eine neue Klasse und erweitern Sie MockitoTestCase Klasse, wie unten gezeigt: MockitoTestCase 类,如下所示:

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

public class FunctionTest extends MockitoTestCase {
  // 定义要测试的函数
  private Function<Integer, Integer> function;
  
  @Before
  public void setUp() {
    // 创建函数的模拟
    function = Mockito.mock(Function.class);
  }
  
  // 测试函数的行为
  @Test
  public void testFunction() {
    // 设置函数的模拟行为
    Mockito.when(function.apply(10)).thenReturn(20);
    
    // 调用要测试的函数
    int result = function.apply(10);
    
    // 断言函数的预期行为
    assertEquals(20, result);
    verify(function, times(1)).apply(10);
  }
}
Nach dem Login kopieren

实战案例

让我们考虑一个简单的函数 addTen()

public class MathFunctions {
  public int addTen(int number) {
    return number + 10;
  }
}
Nach dem Login kopieren

Praktischer Fall

Betrachten wir eine einfache Funktion addTen(), die eine Zahl akzeptiert und ein Ergebnis der Addition von 10 zurückgibt.

import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

public class MathFunctionsTest extends MockitoTestCase {
  private MathFunctions mathFunctions;
  
  @Before
  public void setUp() {
    mathFunctions = Mockito.mock(MathFunctions.class);
  }
  
  @Test
  public void testAddTen() {
    Mockito.when(mathFunctions.addTen(10)).thenReturn(20);
    
    int result = mathFunctions.addTen(10);
    
    assertEquals(20, result);
    verify(mathFunctions, times(1)).addTen(10);
  }
}
Nach dem Login kopieren

Praktischer Fall testen

Um diese Funktion mit Mockito zu testen, erstellen Sie eine Testklasse wie unten gezeigt:

rrreee

🎜Fazit🎜🎜🎜Die Verwendung von Mockito zum Unit-Testen von Java-Funktionen ist sehr einfach. Sie können die Korrektheit einer Funktion einfach testen, indem Sie eine Simulation erstellen, das Verhalten der Simulation definieren und das erwartete Verhalten der Funktion bestätigen. 🎜

Das obige ist der detaillierte Inhalt vonWie teste ich Java-Funktionen mit Mockito?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!