Aquí podría ser tu PUBLICIDAD


MockMVC usando JSONPath incapaz de leer

votos
0

Este caso de prueba es fijo y no puede modificarla. En el controlador estoy regresando noticias objeto que está apareciendo en el componente de Modelo de la salida. Pero el JSONPath es incapaz de encontrarlo.

Si este caso de prueba debe ser aprobada, donde debería aparecer mi producción o lo que debería volver desde el controlador.

@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();
        }


    }
}

Sin embargo, no soy capaz de recuperar la sección de datos y título. Cómo pasar este caso de prueba. Cuando los datos de salida debe fijarse para que sea capaz de verlo en jsonpath.

Este es mi maqueta cuando lo imprimo a la consola

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 = []

Necesito extraer

Publicado el 02/09/2018 a las 05:10
fuente por usuario Rekha Rajagopal
En otros idiomas...        العربية       


Aquí podría ser tu PUBLICIDAD