首頁  >  文章  >  Java  >  如何用Mockito單元測試Java函數?

如何用Mockito單元測試Java函數?

王林
王林原創
2024-04-27 15:36:01729瀏覽

使用 Mockito 測試 Java 函數的步驟:新增 Mockito 依賴項。建立模擬物件並設定模擬行為。呼叫要測試的函數。斷言函數的預期行為。使用 verify() 驗證模擬的交互作用。

如何用Mockito單元測試Java函數?

如何使用Mockito 進行Java 函數的單元測試

在Java 中進行單元測試時,Mockito 是一個流行的模擬框架,它允許你創建測試替身來模擬外部依賴項。使用 Mockito 來測試 Java 函數非常簡單。

依賴項

在你開始之前,請確保在你的專案中包含Mockito 依賴項:

<dependency>
  <groupId>org.mockito</groupId>
  <artifactId>mockito-core</artifactId>
  <version>4.6.1</version>
  <scope>test</scope>
</dependency>

建立測試類

要建立函數測試類,請建立一個新類別並擴展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);
  }
}

實戰案例

讓我們考慮一個簡單的函數addTen(),它接受一個數字並傳回一個加10 的結果。

public class MathFunctions {
  public int addTen(int number) {
    return number + 10;
  }
}

測試實戰案例

要使用Mockito 測試此函數,請建立測試類別如下所示:

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);
  }
}

結論

使用Mockito 進行Java 函數的單元測試非常簡單。透過創建模擬、定義模擬的行為並斷言函數的預期行為,你可以輕鬆測試函數的正確性。

以上是如何用Mockito單元測試Java函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn