Содержимое @WebMvcTest пустое

Я уже прочитал эти вопросы и ответы, но это не решило проблему. Я использую Spring Boot 1.4.2.RELEASE и пытаюсь ускорить свои тесты. До этого момента я использовал @SpringBootTest и тестирую переключение некоторых из этих более простых тестов на @WebMvcTest.

Мой контроллер имеет следующий метод, который отвечает на запросы GET.

public ResponseEntity<MappingJacksonValue> fetchOne(@PathVariable Long id, @RequestParam(value = "view", defaultValue = "summary", required = false) String view) throws NotFoundException {
    Brand brand = this.brandService.findById(id);

    if (brand == null) {
        throw new NotFoundException("Brand Not Found");
    }

    MappingJacksonValue mappingJacksonValue = jsonView(view, brand);
    return new ResponseEntity<>(mappingJacksonValue, HttpStatus.OK);
}

Мой тест выглядит так:

@RunWith(SpringRunner.class)
@WebMvcTest(BrandController.class)
public class BrandSimpleControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @MockBean
    private BrandService brandService;

    @Test
    public void testExample() throws Exception {
        Brand brand = new Brand(1l);
        brand.setName("Test Name");
        brand.setDateCreated(new Date());
        brand.setLastUpdated(new Date());

        when(this.brandService.findById(1l)).thenReturn(brand);

        this.mockMvc.perform(get("/api/brands/1").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(jsonPath("$.name", is("Test Name")));
    }
}

Когда я запускаю этот тест, я ничего не получаю в содержании. Я не делаю ничего существенно отличного от этого руководства, поэтому не знаю, что я пропал без вести.

Я должен отметить, что использование @SpringBootTest с точно таким же контроллером работает, как и ожидалось.


person Gregg    schedule 06.12.2016    source источник
comment
когда(this.brandService.findById(1l)).thenReturn(brand); не должно быть чем-то вроде данного(this.brandService.findById(1L)).willReturn(new Brand(1l)); ?   -  person Matteo Baldi    schedule 06.12.2016
comment
Я тоже пробовал это, и это дает мне те же результаты пустого содержимого.   -  person Gregg    schedule 06.12.2016
comment
Вы пытались добавить @AutoConfigureMockMvc после @WebMvcTest? Я написал модульный тест для точки отдыха для своего собственного проекта. github.com/kometen/SpringBootWorldCities/ блоб/мастер/источник/тест/   -  person kometen    schedule 06.12.2016
comment
Вы когда-нибудь пытались запустить тест в режиме отладки?   -  person ksokol    schedule 29.12.2016
comment
Короче говоря, это было связано с некоторыми вопросами безопасности.   -  person Gregg    schedule 29.12.2016
comment
@GreggGregg, если вы все еще помните, в чем была проблема, не могли бы вы ответить на свой вопрос?   -  person user60561    schedule 09.08.2019