在Spring Boot框架中进行单元测试通常使用JUnit和SpringBootTest注解。下面是一个简单的示例:
import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; @SpringBootTest public class UserServiceTest { @Autowired private UserService userService; @MockBean private UserRepository userRepository; @Test public void testGetUserById() { User user = new User(1L, "John Doe"); when(userRepository.findById(1L)).thenReturn(java.util.Optional.of(user)); User found = userService.getUserById(1L); assertThat(found.getId()).isEqualTo(1L); assertThat(found.getName()).isEqualTo("John Doe"); } }
在上面的示例中,我们使用@SpringBootTest注解来指示Spring Boot为单元测试加载应用程序上下文。 @Autowired用于注入要测试的服务,@MockBean用于模拟依赖的UserRepository。我们使用Mockito来模拟UserRepository的行为,然后调用userService的方法并断言返回的结果。