鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ Junit MockMvc 出現(xiàn)了個錯誤,求解決辦法

Junit MockMvc 出現(xiàn)了個錯誤,求解決辦法

運行測試類,報出如下錯誤,該怎么解決啊,謝謝前輩指導(dǎo)
錯誤如下:
java.lang.AssertionError: Status
Expected :200
Actual :404
<Click to see difference>

at org.springframework.test.util.AssertionErrors.fail(AssertionErrors.java:60)
at org.springframework.test.util.AssertionErrors.assertEquals(AssertionErrors.java:89)
at org.springframework.test.web.servlet.result.StatusResultMatchers$10.match(StatusResultMatchers.java:655)
at org.springframework.test.web.servlet.MockMvc$1.andExpect(MockMvc.java:171)
at ContorllerDemo.demo1(ContorllerDemo.java:33)

測試類如下:
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration("classpath:applicationContext.xml")
public class ContorllerDemo {

private MockMvc mockMvc;
@Autowired
private WebApplicationContext webApplicationContext;

@Before
public void before(){
    mockMvc = MockMvcBuilders.webAppContextSetup( webApplicationContext ).build();
}
@Test
public void demo1() throws Exception{
    String responseString = mockMvc.perform(get("manager/bannerLibary/select.html"))
            .andExpect(status().isOk()).andDo(print())         //打印出請求和相應(yīng)的內(nèi)容
            .andReturn().getResponse().getContentAsString();
    System.out.println(responseString);
}

}

controller類如下:

@Controller
@RequestMapping("manager/bannerLibary")
public class BannerLibaryController {

@Autowired
BannerLibaryService bannerLibaryService;
@Autowired
BannerLibaryDao bannerLibaryDao;

/**
 * 獲取BannerLibary
 *
 * @param bannerLibary 條件
 * @param response
 * @Return 
 */
@RequestMapping("select")
public void select(BannerLibary bannerLibary, HttpServletResponse response) {
    List<BannerLibary> bannerLibaries = bannerLibaryDao.select(bannerLibary);
    Map m = new HashMap();
    m.put("code", 0);
    m.put("count", bannerLibaries.size());

    if (bannerLibaries == null || bannerLibaries.size() <= 0) {
        m.put("msg", "沒有結(jié)果");
        m.put("result", "");
    } else {
        m.put("msg", "");
        m.put("res_code", "1111");
        m.put("data", bannerLibaries);
    }
    String json = JsonUtil.ObjectToJson(m);
    TaokeUtil.write(json, response);
}

}

springmvc配置如下:

<servlet>
    <servlet-name>spring-mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>spring-mvc</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>
回答
編輯回答
背叛者

在這個方法里TaokeUtil.write(json, response); 你都對response做了些啥???

2017年3月3日 01:16