我正在嘗試使用 Mockito、JUnit 5 和 Spring Boot 對服務層進行單元測驗,但出現 NullPointerException。
這是我的測驗課:
class UserServiceTest {
@Mock
UserRepository userRepository;
@InjectMocks
IUserService userService;
UserMapper userMapper;
@Test
void when_save_user_it_should_return_user(){
UserRequest userRequest = UserRequest.builder()
.email("[email protected]")
.password("123456")
.firstName("Pedro")
.lastName("Perez")
.birthDate(LocalDateTime.now())
.imageUrl("")
.currency("170")
.build();
Mockito.when(userRepository.save(Mockito.any(UserEntity.class))).thenReturn(new UserEntity());
UserEntity createdUser = userService.createUser(userRequest);
assertThat(createdUser.getFirstName()).isSameAs(userRequest.getFirstName());
}
}
這是我的回應:
java.lang.NullPointerException
at com.jhapdevelopment.moneyhub.usermicroservice.services.implementations.UserServiceTest.when_save_user_it_should_return_user(UserServiceTest.java:41)
我不明白為什么我會得到這個回應,我的意思是也許這可能是依賴問題
uj5u.com熱心網友回復:
我猜模擬沒有正確注入。
對于 JUnit 5,您必須@ExtendWith(MockitoExtension.class)在類的頂部使用。
uj5u.com熱心網友回復:
@InjectMocks IUserService userService -> 替換為 UserServiceImpl
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/331718.html
上一篇:從服務類呼叫方法時,SpringBoot@AutowiredNullPointerException
下一篇:如何在屬于AbstractConsumerSeekAware類的SpringKafka中實作seekToEnd()?
