【发布时间】:2020-05-22 18:38:22
【问题描述】:
尝试对我的服务层进行单元测试,这是我的测试代码:
@RunWith(MockitoJUnitRunner.class)
public class ServiceCreateUserTest {
@Mock
private UserRepository userRepository;
@InjectMocks
private UserCreateService userCreateService;
@Test
public void when_save_user_it_should_return_user() {
User user = new User();
user.setName("Test Name");
when(userRepository.save(ArgumentMatchers.any(User.class))).thenReturn(new User());
User created = userCreateService.create(user);
assertThat(created.getName()).isSameAs(user.getName());
}
}
这是我的服务代码:
@Service
public class UserCreateService {
@Autowired
UserRepository repository;
public User create(User user) {
return repository.save(user);
}
}
运行时出现以下错误:
java.lang.AssertionError:
期待: 和实际:
<null>
引用同一个对象
有人能解释一下吗?不确定我的测试代码中缺少什么。也许与我的方法导入有关?
【问题讨论】:
标签: java unit-testing mockito