Spring Boot + TestNG + MockMVC дает Null для @Autowired

Я новичок в 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));
}

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

Благодарность


person kadi nana    schedule 25.05.2018    source источник
comment
Можете ли вы включить больше кода? (например, аннотации в верхней части класса)   -  person TwiN    schedule 25.05.2018
comment
@TwiN я добавил фрагмент кода. Спасибо   -  person kadi nana    schedule 25.05.2018


Ответы (1)


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

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

person TwiN    schedule 25.05.2018