Я пишу JUnit, и я с помощью @mock и @ injectMock.But, я считаю @injectMocks не работает, когда фасоль весной aop.code так:@injectMocks не работает при использовании Spring AOP
QuestionService.java:
@Component
public class QuestionService implements IQuestionService{
@Resource
private IUserService userService;
@Override
public User findUserById(long id) {
// TODO Auto-generated method stub
User user = userService.findUserById(id);
return user;
}
}
Test.java:
@Mock
IUserService mockuserService;
@InjectMocks
@Resource
QuestionService questionService;
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
}
@Test
public void testfind() {
when(mockuserService.findUserById(1)).thenReturn(
new User(1, "name"));
User user = questionService.findUserById(1);
Assert.assertEquals(new User(1, "name"), user);
}
Это работает!
Но, когда я добавляю userService весной aop, это не работает!
Например, сделка aop.
Как это исправить?
Да, я запускаю с SpringJUnit4ClassRunner..Если questionService имеет userService, который я хочу издеваться и tagService, который я хочу загрузить весной, как я могу это сделать? – codework
tagService, где он исходит? обновите свой вопрос. – Lovababu