【发布时间】:2015-08-27 15:09:47
【问题描述】:
我有以下测试类:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringTestConfig.class)
public class UserServiceTest {
@Inject
private UserRepository userRepository;
@Inject
private UserService userService;
@Test
public void testProcessInvoice() throws SQLException {
User user = new User();
user.setFirstName("abc");
when(userRepository.save(any(User.class))).thenReturn(user);
Assert.assertNotNull(userService);
User savedUser = userService.save(user);
Assert.assertEquals("abc", savedUser.getFirstName());
}
}
我下面有SpringTestConfig.java
@Configuration
public class SpringTestConfig {
@Bean
public UserService userService() {
return Mockito.mock(UserService.class);
}
@Bean
public UserRepository userRepository() {
return Mockito.mock(UserRepository.class);
}
}
调用User savedUser = userService.save(user); 返回null 用户对象。我无法弄清楚为什么它返回 null。
编辑:
UserRepository 是 JpaRepository,如果这是一个问题
public interface UserRepository extends JpaRepository<User, Long> {
}
【问题讨论】:
标签: java spring mockito spring-test