Solo  当前访客:1 开始使用

Mockito 测试框架

@RunWith 是 JUnit 框架中的一个注解,用于指定测试运行器(Test Runner)。测试运行器负责执行测试用例,并提供执行测试所需的环境

@InjectMocks 注解:用于注入模拟对象到被测试类的字段中。当你在测试类中使用

@InjectMocks 注解标记一个字段时,Mockito 将尝试将之前使用 @Mock 创建的模拟对象注入到被测试类的这个字段中。

// UserServiceImplTest.java
@RunWith(MockitoJUnitRunner.class)
public class UserServiceImplTest {

@Mock
private UserRepository userRepository;

@InjectMocks
private UserServiceImpl userService;

@Test
public void testGetUserName_UserFound() {
    // 模拟 UserRepository 的行为
    User mockUser = new User(1, "John");
    Mockito.when(userRepository.findById(1)).thenReturn(mockUser);

    // 调用被测试的方法
    String userName = userService.getUserName(1);

    // 验证行为是否符合预期
    assertEquals("John", userName);
}

@Test
public void testGetUserName_UserNotFound() {
    // 模拟 UserRepository 的行为
    Mockito.when(userRepository.findById(2)).thenReturn(null);

    // 调用被测试的方法
    String userName = userService.getUserName(2);

    // 验证行为是否符合预期
    assertEquals("User not found", userName);
}

}


标题:Mockito 测试框架
作者:temp12138
地址:https://solo.mfyzl.icu/articles/2024/03/20/1710914091969.html

标签:
新一篇: java程序的执行 旧一篇: apacle common 类库