Я пытаюсь запустить тест Spring MVC, но продолжаю получать это исключение.
org.springframework.web.util.NestedServletException: ошибка обработки запроса; вложенным исключением является java.lang.NullPointerException
Исключение возникает из-за того, что автосвязанная зависимость,
@Autowired
private AccountService accountService;
не вводится в тесте (отлично работает вне теста).
Кто-нибудь может мне с этим помочь. Вот мой код:
// Класс AccountControllerITest
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MockServletContext.class)
@WebAppConfiguration
public class AccountControllerITest {
private MockMvc mvc;
ObjectMapper om;
@Before
public void setUp() throws Exception {
mvc = MockMvcBuilders.standaloneSetup(new AccountController()).build();
}
@Test
public void getAccounts() throws Exception {
MvcResult mvcResult = mvc.perform(MockMvcRequestBuilders.get("/api/accounts"))
.andExpect(status().isOk())
.andReturn();
}
}
}
//Контроллер учетных записей
@RestController
@RequestMapping("/api/accounts")
public class AccountController {
@Autowired
private AccountService accountService;
@RequestMapping(method = RequestMethod.GET)
public ResponseEntity<Set<AccountInfo>> getAccounts(@RequestParam(value = "firstName", required = false) String firstName,
@RequestParam(value = "surName", required = false) String surName) {
Set<AccountInfo> accounts = accountService.getAccounts(firstName, surName);
return new ResponseEntity<>(accounts, HttpStatus.OK);
}
}
Спасибо за помощь!