2013-06-11 3 views
1

나는 변경하려고 봄 테스트 프레임 워크는 다음과 같은 JSON 반환을 테스트하려면 다음을 수행하십시오이 Spring Test Framework Test를 JSON 반환과 함께 사용하도록 변경하려면 어떻게해야합니까?

여기
{"user":"John ","name":"JohnSmith"} 

내 테스트 코드와 난 그냥 JSON를 확인하기 위해 그것을 변경하는 방법을 잘 모릅니다과 가치 JSON.

<dependency> 
<groupId>com.jayway.jsonpath</groupId> 
<artifactId>json-path</artifactId> 
<version>0.8.1</version> 
</dependency> 

과 같은 하나 개의 정적 수입

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; 

이 추가 : 누군가가 변경 무엇을 말해 줄 수 있다면 그것은 .. 감사 종속성

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(classes = {WebMVCConfig.class}) 
@WebAppConfiguration 
public class TestHelloWorldWeb 
{ 
    @Autowired 
    private WebApplicationContext wac; 

    private MockMvc mockMvc; 

    @Before 
    public void setup() 
    { 
     this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build(); 
    } 

    @Test 
    public void getFoo() throws Exception 
    { 
     this.mockMvc.perform(get("/ask") 
       .accept(MediaType.TEXT_HTML)) 
       .andExpect(status().isOk()) 
       .andExpect(view().name("helloworld")) 
       .andExpect(MockMvcResultMatchers.model().attribute("user", "JohnSmith")) 
     ; 


    } 
} 

답변

1
.andExpect(jsonPath("$.user").value("john")); 

큰 것 정적 메소드 ...

+0

jsonPath 란 무엇입니까? 내 코드가 빌드되지 않습니다! jsonpath가 무엇인지 모릅니다. – user2428795

+0

json 경로를 사용하면 json을 쉽게 확인할 수 있습니다. 업데이트를 참조하십시오. – NimChimpsky

+0

나는 그랬고 아무것도하지 않았습니다. – user2428795