У меня проблема с введением макета в один класс, который мне нужен для тестирования. Я пытаюсь смоделировать класс Dao, и у меня не возникло проблем с использованием ReflectionTestUtils в различных службах, которые я использую, однако этот просто не хочет работать, он продолжает вызывать класс Dao и получать ошибки из базы данных.
Это тестовый класс:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@WebAppConfiguration
public class DedicationControllerTest extends AbstractRestTest {
@Mock
UserDaoImpl userDao;
@Autowired
@InjectMocks
GrantedAuthoritiesLevelsHolder grantedAuthoritiesLevelsHolder;
@Test
public void shouldTest() throws Exception {
//given
String json = this.getJsonFromFile("json/my.json");
Mockito.when(userDao.getUser(Mockito.anyString())).thenReturn(new User(1l, "mock"));
ReflectionTestUtils.setField(grantedAuthoritiesLevelsHolder, "userDao", userDao);
ResultActions result = mockMvc.perform(post( controllerUrl + "/action")
.contentType(MediaType.APPLICATION_JSON_UTF8)
.content(json));
// then
result
.andExpect(status().isOk());
}
}
И это тот класс, в который я пытаюсь ввести макет:
@Component
@Scope(value="session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class GrantedAuthoritiesLevelsHolder {
@Autowired
private UserDao userDao;
// some methods
}