MockHttpServletRequest 测试spring的Controller,如果Controller的类名和要调用的方法名上都写有@RequestMapping:
@Controller
@RequestMapping("email")
public class EmailRest extends AbstractController {
@RequestMapping(method = RequestMethod.POST, value = "send")
public HttpEntity<?> sendEmail(@Valid @RequestBody EmailForm json) {
则如果在@Test里这样写:
MockHttpServletRequest request;
...
request.setRequestURI("/email/send");
则测试时会莫名其妙的报NullPointerException。
解决办法是为MockHttpServletRequest设置如下一个attribute:
request.setAttribute(HandlerMapping.INTROSPECT_TYPE_LEVEL_MAPPING, true);
参考资料:
http://hi.baidu.com/dgfytufxgvfmvwr/item/2c0ecdee115ffe0c8c3ea806
分享到:
相关推荐
@Controller @RequestMapping(value = "ViewController") class ViewController { //@Resource //private ComboPooledDataSource comboPooledDataSource; //@Resource //private JdbcTemplate jdbcTemplate; @...
@Controller public class UserController{ @Resource private UserService userService; @RequestMapping(value="/userList1.do") public String geUserList1(HttpServletRequest request ,...
@Controller public class UserController extends BaseController { @Resource private IUserService userService; /*** * 方法一请求使用String * * 请求@RequestMapping匹配的URL request * * @...
@Controller @RequestMapping("/upload") public class UploadFileController { @Autowired private UploadFileService uploadFileService; @RequestMapping("/upfile") public String upload...
@RequestMapping(value = "/del/{id}", method = RequestMethod.GET) public void del(HttpServletRequest request, @PathVariable("id") Long id){ System.out.println(id); }
@Controller public class HelloController { @RequestMapping("/Login.jsp") public ModelAndView checkToken(HttpServletRequest request, HttpServletResponse response) { /*ModelAndView view = new ...
public String doLogin(@RequestParam String devCode,@RequestParam String devPassword,HttpServletRequest request,HttpSession session){ logger.debug("doLogin===================================="); //...
1.无maven,照样实现发布war中不含测试代码 在主工程中,不包含任何测试代码,理论上连main方法都不应该存在。测试代码常常放在与主工程同package的下面,以Test+className作为类名。由于采用了junit4,建议使用...
@RequestMapping("/admin/addImage.do") public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { MultipartResolver resolver = new ...
MockHttpServletRequest:HttpServletRequest接口的mock实现。 MockHttpServletResponse:HttpServletResponse接口的mock实现。 MockHttpSession:HttpSession接口的mock实现。 q DelegatingServletInputStream...
org.springframework.mock.web.MockHttpServletRequest.class org.springframework.mock.web.MockHttpServletResponse.class org.springframework.mock.web.MockHttpSession.class org.springframework.mock.web....
@Controller @RequestMapping(value="/egova_invoker") public class ServerDemo{ @RequestMapping(value="invoker") public void invoker(HttpServletRequest request, HttpServletResponse ...
@Controller @RequestMapping("/checkCode") public class CheckCodeController extends HttpServlet { public CheckCodeController() { super(); } public void destroy() { super.destroy(); } public ...
在具体的使用场景中,例如,对于一些不容易构造或者获取的对象(如HttpServletRequest必须在Servlet容器中才能构造出来,或者JDBC中的ResultSet对象),Mockito可以创建一个虚拟的对象(即Mock对象)进行测试。...
Spring Framework Reference 4.1.x Web MVC部分 pdf
@RequestMapping("add") public String add(HttpServletRequest request,User user,MultipartFile file){ String tp = Upload.upload(file); if(""!=tp){ user.setimg(tp); } ud.add(gs); return "redirect:...
@RequestMapping("/outputVideo") public void getVideo(HttpServletRequest request,HttpServletResponse response,@RequestParam("path")String videoPath) throws IOException { System.out.println("来请求了...
public String zhuzhuangtu(ClassRoom classRoom ,HttpServletRequest req,HttpServletResponse resp,Model model){ List,Object>> maps = new ArrayList,Object>>(); Map,Object> map = new HashMap(); ...
@RequestMapping("Export") @ResponseBody public String getAll(HttpServletRequest request,HttpServletResponse response) throws IOException{ //集合为需要导出数据,数据查询得到,这里测试就不写了。 ...
后台Controller: @RequestMapping(/faultType) @ResponseBody public Map<String> faultType(int id,HttpServletRequest request)throws IOException { String ReturnMessage = ; //获取所有子类故障类型 List...