Spring Boot + TestNG + MockMVC дает нулевое значение для @Autowired - PullRequest
0 голосов
/ 25 мая 2018

Я новичок в Spring-Boot, TestNG и MockMVC, когда я пытаюсь написать тестовый пример TestNG, он дает Null для ниже:

@Autowired
private WebApplicationContext webApplicationContext;

, а также дает ноль для

@BeforeTest
public void start()
{
     mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}

Кроме того, на основе предыдущего сообщения из stackoverflow путем перемещения

mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); в @ Test также проблема не решена.

Ниже моего фрагмента кода

@Autowired
private WebApplicationContext webApplicationContext;

private MockMvc mockMvc;

@BeforeTest
public void setup() {
    mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}

@Test
public void testEmployee() throws Exception {
    mockMvc.perform(get("/employee")).andExpect(status().isOk())
        .andExpect(content().contentType("application/json;charset=UTF-8"))
        .andExpect(jsonPath("$.name").value("emp1")).andExpect(jsonPath("$.designation").value("manager"))
        .andExpect(jsonPath("$.empId").value("1")).andExpect(jsonPath("$.salary").value(3000));
}

Любая ссылка или рабочий пример будет очень полезен.

спасибо

1 Ответ

0 голосов
/ 25 мая 2018

Если вы хотите автоматически подключить WebApplicationContext, ваш тестовый класс должен быть помечен @ContextConfiguration и @WebAppConfiguration.

. Вы можете найти пример-ish здесь (Spring Framework'sофициальный репозиторий).

...