gpt4 book ai didi

java - Mockito 中的测试服务

转载 作者:行者123 更新时间:2023-12-02 12:21:12 24 4
gpt4 key购买 nike

我想测试服务

public class UserServiceTest {

@Autowired
private UserServiceImpl userService;

@Before
public void setup() {
MockitoAnnotations.initMocks(this);
}

@Test
public void testExistsUsername() {
User user = userService.findByUsername("jonki97").get();

}
}

然而,在测试期间,他把我赶出了

java.lang.NullPointerException
at com.service.service.UserServiceTest.testExistsUsername(UserServiceTest.java:32)

我的服务仍然包含存储库

@Service("userService")
public class UserServiceImpl implements UserService {

private UserRepository userRepository;

@Autowired
public UserServiceImpl(UserRepository userRepository) {
this.userRepository = userRepository;
}

可能是我错过了一些错误,因此抛出 null。

最佳答案

即使您有此方法来启动模拟,您也没有实例化任何模拟。您需要在测试类中调用的存储库的模拟:

@Mock
UserRepository userRepository;

并且还提供模拟的行为(调用方法时做什么)。像这样的东西:

when(userRepository.findByUsername("jonki97")).thenReturn("OK");
// test the method after

希望对你有帮助

关于java - Mockito 中的测试服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45764528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com