使用MvcMock将HttpServletRequest设置为测试方法参数

k_b

我正在为一种具有方法签名的控制器方法编写一个junit,如下所示:

@RequestMapping(value="/getTokenizedURL.json",method=RequestMethod.POST)
@ResponseBody
public ResponseData getTokenizedURL(@RequestBody final RequestData requestData, final HttpServletRequest request) throws CustomException

我需要使用MockMvc调用此方法,并且可以使用以下方法调用:

mockMvc.perform(post("/user/getTokenizedURL.json")
    .contentType(MediaType.APPLICATION_JSON)
    .content(json))
    .andDo(print())
    .andExpect(status().isOk());

但是问题是我无法HttpServletRequest使用模拟mvc调用原始方法时设置Parameter。没有设置HttpServletRequest参数,我的测试就产生了问题,因为它是原始方法中必需的并与之一起使用。

请让我知道如何设置相同的内容。谢谢!

Sotirios Delimanolis

这个想法是您不需要。

MockMvcRequestBuilders#post(..)返回一个MockHttpServletRequestBuilder,可让您使用所需的任何值构造请求。这些将在HttpServletRequest传递给您的处理程序方法的中进行镜像

例如,您曾经

.contentType(MediaType.APPLICATION_JSON)

这将设置content-type请求标头。在处理程序方法中,如果您做了

request.getHeader("content-type");

您将获得对应StringMediaType.APPLICATION_JSON

MockHttpServletRequestBuilder该请求的每一个部分都有“二传手”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将proc设置为默认方法参数

来自分类Dev

将proc设置为默认方法参数

来自分类Dev

TestNG:以编程方式运行测试-执行测试方法时,在XmlTest对象上设置的参数为null

来自分类Dev

有什么方法可以将轮换设置为layout参数

来自分类Dev

如何将父参数的值设置为子方法?

来自分类Dev

有什么方法可以将轮换设置为layout参数

来自分类Dev

将字段设置为等于Java中方法的参数

来自分类Dev

将 ref 参数设置为私有方法

来自分类Dev

如何使用LauncherDiscoveryRequestBuilder执行参数类型为TestInfo的测试方法?

来自分类Dev

使用Minitest为所有测试设置标题的最佳方法

来自分类Dev

如何使用junit为java程序设置基本测试方法?

来自分类Dev

如何使用[CallerLineNumber]强制将参数设置为只读?

来自分类Dev

如何将2d数组设置为单元测试的参数

来自分类Dev

使用HTTPServletRequest将参数从Servlet传递到JSP返回null

来自分类Dev

将权限设置为仅测试计划

来自分类Dev

Lambda表达式-无法将Lambda参数设置为方法的参数

来自分类Dev

以Span为参数抛出异常的测试方法

来自分类Dev

将参数默认设置为null

来自分类Dev

尝试将功能设置为参数

来自分类Dev

将SqlDataSource参数设置为null

来自分类Dev

将默认参数设置为`...`

来自分类Dev

Java:将常量设置为编译参数

来自分类Dev

将属性设置为通用参数

来自分类Dev

将事件处理程序设置为参数

来自分类Dev

使用 Excel::download() 方法将 excel 列设置为自动

来自分类Dev

如何将一个方法设置为另一个方法的参数

来自分类Dev

如何使用MTM将参数值从TFS中的测试用例传递到单元测试方法中的测试方法?

来自分类Dev

SOAPUI:使用txt文件中的属性运行测试步骤,将txt中的属性设置为Property

来自分类Dev

将FormGroup设置为Disabled时,如何使用Jasmine进行单元测试?

Related 相关文章

  1. 1

    将proc设置为默认方法参数

  2. 2

    将proc设置为默认方法参数

  3. 3

    TestNG:以编程方式运行测试-执行测试方法时,在XmlTest对象上设置的参数为null

  4. 4

    有什么方法可以将轮换设置为layout参数

  5. 5

    如何将父参数的值设置为子方法?

  6. 6

    有什么方法可以将轮换设置为layout参数

  7. 7

    将字段设置为等于Java中方法的参数

  8. 8

    将 ref 参数设置为私有方法

  9. 9

    如何使用LauncherDiscoveryRequestBuilder执行参数类型为TestInfo的测试方法?

  10. 10

    使用Minitest为所有测试设置标题的最佳方法

  11. 11

    如何使用junit为java程序设置基本测试方法?

  12. 12

    如何使用[CallerLineNumber]强制将参数设置为只读?

  13. 13

    如何将2d数组设置为单元测试的参数

  14. 14

    使用HTTPServletRequest将参数从Servlet传递到JSP返回null

  15. 15

    将权限设置为仅测试计划

  16. 16

    Lambda表达式-无法将Lambda参数设置为方法的参数

  17. 17

    以Span为参数抛出异常的测试方法

  18. 18

    将参数默认设置为null

  19. 19

    尝试将功能设置为参数

  20. 20

    将SqlDataSource参数设置为null

  21. 21

    将默认参数设置为`...`

  22. 22

    Java:将常量设置为编译参数

  23. 23

    将属性设置为通用参数

  24. 24

    将事件处理程序设置为参数

  25. 25

    使用 Excel::download() 方法将 excel 列设置为自动

  26. 26

    如何将一个方法设置为另一个方法的参数

  27. 27

    如何使用MTM将参数值从TFS中的测试用例传递到单元测试方法中的测试方法?

  28. 28

    SOAPUI:使用txt文件中的属性运行测试步骤,将txt中的属性设置为Property

  29. 29

    将FormGroup设置为Disabled时,如何使用Jasmine进行单元测试?

热门标签

归档