首页  >  文章  >  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