Этот тестовый пример исправлен, и я не могу его изменить. В контроллере я возвращаю объект News, который появляется в компоненте Model вывода. Но JSONPath не может его найти.
Если этот тестовый пример необходимо пройти, где должен появиться мой вывод или что я должен вернуть из контроллера.
@SpringBootTest
@RunWith(SpringRunner.class)
public class NewsControllerTest {
private MockMvc mockMvc;
@Autowired
WebApplicationContext context;
@InjectMocks
private NewsController newsController;
@Before
public void setup() {
mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
}
@Test
public void retrievetest_ok() throws Exception {
try {
mockMvc.perform(get("/api/news/topstories" )).andDo(print())
.andExpect(status().isOk())
.andExpect(MockMvcResultMatchers.jsonPath("$.title").exists())
.andExpect(MockMvcResultMatchers.jsonPath("$.section").exists());
}catch(Exception e) {
e.printStackTrace();
}
}
}
Но я не могу получить данные "раздел" и "заголовок". Как пройти этот тестовый пример. Где должны быть установлены выходные данные, чтобы они могли видеть их в jsonpath.
Это мой издевательство, когда я печатаю его на консоль
MockHttpServletRequest:
HTTP Method = GET
Request URI = /api/news/topstories
Parameters = {}
Headers = {}
Body = <no character encoding set>
Session Attrs = {}
Handler:
Type = com.example.project.NewsController
Method = public java.util.Map<java.lang.String, java.lang.String> com.example.project.NewsController.getNews()
Async:
Async started = false
Async result = null
Resolved Exception:
Type = null
ModelAndView:
View name = api/news/topstories
View = null
Attribute = section
value = U.S.
Attribute = title
value = 4 Takeaways from Tuesday’s Primaries
FlashMap:
Attributes = null
MockHttpServletResponse:
Status = 200
Error message = null
Headers = {Content-Language=[en]}
Content type = null
Body =
Forwarded URL = api/news/topstories
Redirected URL = null
Cookies = []
Мне нужно извлечь