MockMVC是Spring MVC Test框架的关键部分。它模拟了Spring MVC的内部结构。
Spring MockMvc - 从 REST 获取 java.time.Instant
我有一个资源,它返回一个具有 java.time.Instant 属性的对象。 X类{ ... 私人即时开始日期; ... } 我正在测试它: mockMvc.perform(get("/api/x"...
我正在尝试为控制器编写测试用例。我不想模拟我的服务,因为我想将这些测试用作完整的功能测试。 我正在尝试测试这个控制器: @继续...
运行集成测试时,Spring Boot 不会解码 URL 参数中的特殊字符
我在 Spring Boot RestController 中有一个 GET 端点,它接受电子邮件作为 URL 参数(我知道这不是一个好主意,但我现在无法更改它)。 电子邮件控制器.java 爸...
将 JUnit 测试套件添加到 Spring MVC 应用程序
我想将 JUnit 测试套件添加到已经运行的 spring mvc 应用程序中。 我特别想测试控制器 API。 您可以推荐一个特定的程序吗? 我不想...
如何在使用 Spring 和 Apache 文件上传时模拟分段文件上传
我正在进行的项目需要支持大文件上传并知道上传过程中所花费的时间。 为了处理大文件,我使用 Apache FileUpload 的流 API,这也...
如何使用 Spring MockMvc PUT 多部分/表单数据?
我有一个带有 PUT 方法的控制器方法,它接收多部分/表单数据: @RequestMapping(值 = "/putIn", 方法 = RequestMethod.PUT) public Foo updateFoo(HttpServletRequest 请求...
我用mockMvc进行了经典风格测试,它有效: val结果=mockMvc.perform( 帖子(路径) .contentType(MediaType.APPLICATION_JSON) .content(objectMapper.
如何模拟调用链 someService.method1().method2()
例如我有一堂课 类我的类{ @Autowired 一些服务 一些服务; @RequestMapping("/somepath") 公共对象 myMethod(){ someService.method1().method2(); //方法2是vo...
无法让 RestController 接受应用程序/八位字节流
我有一个带有休息控制器的Spring Boot应用程序,它必须在后端点接受二进制流并用它来做事情。 所以我有: @PostMapping(path="/parse", 消耗 = {
使用 Spring MockMVC 时如何对结果执行 OR 条件?
目前我有以下 - .andExpect(org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath("$.message", org.hamcrest.Matchers.equalTo("
我有一个带有一些 RestController 的 Spring Boot 应用程序。 我正在使用 MockMvc 测试 RestControllers 以重现与最终用户相同的行为。 问题是Jacoco不更新
如何使用 Spring MockMvc 检查标头正则表达式响应
我有一个 API,它应该返回一个包含标头 HttpHeaders.CONTENT_DISPOSITION 的响应,其值应该与正则表达式“prefix(.*?)suffix”匹配。 我的测试: @测试 公众号...
Spring Mockito:使用存储库模拟的特定参数调用方法时返回空值
我尝试模拟以下存储库并根据所有者的名称返回一页待办事项条目。我正在使用“org.springframework.boot”版本“3.1.3”。 @存储库 公共接口NotioRepo...
我需要用这么多测试用例来测试API。因此,我决定使用 Junit 参数化测试。 但我无法运行我的测试,因为 MockMvc 不自动配置并且它为空。 这是我的测试
MockMVC 忽略了 @Order 注解的顺序,顺便说一下,按照字母顺序命名,当第二个方法命名为 test2_b 时,该方法就变成了第二个,应该按原样执行,但是在 t...
在模拟第三方 API 时获取“reactor.netty.http.client.PrematureCloseException:连接在响应之前提前关闭”
我的Spring boot API正在使用WebClient使用第三方API 演示API控制器 @RestController 公共类 DemoAPIController { @Autowired 演示服务演示服务; @GetMapping("/myt...
尝试使用mockMvc.perform(....content(someJson)来测试我的Web应用程序
当使用mockMvc.perform 测试我的Web 应用程序时,我尝试使用.content(someJson) 来满足主体的要求。不幸的是,当使用 .content 时,它显示为红色并出现错误: ...
如何使用 MockMvcResultMatchers.jsonPath 从 JSON 序列化 BigDecimal?
当我测试我的 EP 并获取 JSON 响应时,没有精度的 BigDecimal 值会转换为 Integer,并且我不能期望使用 MockMvcResultMatchers.jsonPath 得到 BigDecimal。当你有
mockito when().thenreturn 不适用于使用 Capire 的mockMVC
@Slf4j @SpringBootTest @AutoConfigureMockMvc @ActiveProfiles(“测试”) @TestInstance( TestInstance.Lifecycle.PER_CLASS ) 类 HeadActionTest 扩展 AbstractBoTest { @BeforeEach @
整数输入的 Spring Restcontroller/MockMvc 问题
显然我有这样的情况,客户端想要将整数值传递给 REST 端点之一。它看起来像 @PostMapping("/handleSignal") 公共响应实体 显然我有这样的情况,客户端想要将整数值传递给 REST 端点之一。长得像 @PostMapping("/handleSignal") public ResponseEntity<Object> handleSignal(@RequestParam @NotNull Integer signalId) 我已经使用过@RequestParam,并通过Postman测试成功。但是,在使用 Spring MockMvc 进行测试时,我还没有找到任何方法来传递 Integer 值。到目前为止我的尝试是 RequestBuilder handleSignalRequest = MockMvcRequestBuilders.post("/handleSignal") .requestAttr("signalId", 1); mockMvc.perform(handleSignalRequest) .andExpect(MockMvcResultMatchers.status().isOk()); 但这不会达到终点并给我400/Bad Request. 我知道如果我将方法签名更改为 @PostMapping("/handleSignal") public ResponseEntity<Object> findSignal(@RequestAttribute(name = "signalId") @NotNull Integer signalId) 然后使用MockMvc的测试将通过(尝试过)。但在那种情况下,我将失去通过 Postman 对其进行测试的能力。 什么是理想的解决方案,以便能够通过 Postman 和 Spring MockMvc 对其进行测试?任何领导表示赞赏。 RequestBuilder handleSignalRequest = MockMvcRequestBuilders.post("/handleSignal") .requestAttr("signalId", 1); mockMvc.perform(handleSignalRequest) .andExpect(MockMvcResultMatchers.status().isOk()); 您正在使用 MockHttpServletRequestBuilder#requestAttr 错误的方法,正如其名称所示,当您有兴趣使用 signalid 参数发送您的 http post 查询时,就像您对邮递员所做的那样设置请求属性。为了达到预期的结果,您可以使用 MockHttpServletRequestBuilder#param 方法,这样您的请求参数将从查询字符串中解析出来,如下所示,并在您提供的测试中具有预期的行为: RequestBuilder handleSignalRequest = MockMvcRequestBuilders.post("/handleSignal") .param("signalId", "1");