问题标签 [mockmvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1839 浏览

java - 是否可以使用 MockMvc 进行 JPA 测试?

我正在尝试使用弹簧测试测试休息应用程序。

我有两个实体(用户,用户信息)(一对一关联,假设源和目标共享相同的主键值。)

这是我的测试场景。(在测试代码中)

  1. 使用 JPA 将临时用户插入数据库
  2. 请求控制器使用 MockMvc 执行。
  3. 断言与预期和实际。
  4. 回滚临时用户。

这个测试用例失败了。也许到另一个执行环境(线程)??

是否有可能的测试场景?

关于其他解决方案或如何让我的解决方案发挥作用的任何帮助?

这是一个示例代码。

https://gist.github.com/okihouse/f5e2fe8fa4c17d6a6be9


解决了

我解决了这个异常。

异常点

  • 我用了hikariCP。观看示例代码。

    }

当我使用手动数据源配置时发生错误。

所以,我在application.yml中更新数据源配置

最后,我分享了这段代码。 https://github.com/okihouse/spring-jpa-test

0 投票
3 回答
15715 浏览

java - 使用 MockMvc 获取 httpServletRequest 属性

我有一个以这种方式定义的非常简单的控制器:

我尝试以多种不同的方式使用 MockMvc 进行调用,但是我无法提供属性“userId”。

例如,这样它不起作用:

我也试过这个,但没有成功:

在这种情况下,我可以设置 RemoteUser,但不能设置 HttpServletRequest 上的属性映射。

有什么线索吗?

0 投票
1 回答
6106 浏览

java - jsonpath:JSON 路径没有值:$.id,异常:路径“id”正在应用于数组。数组不能有属性

我尝试使用 jsonPath 读取 json 的内容,但出现错误。

这里的junit测试方法:

这是请求返回给我的内容:

我收到了这个错误:

有人可以帮助我。

谢谢

0 投票
3 回答
5074 浏览

spring - 如何使用 Spring 测试服务器发送的事件?

我已经使用返回 SseEmitter 的方法实现了一个控制器,现在我想对其进行测试。到目前为止,我能找到的唯一方法是:

必须有一种比检查返回模型的内部更好的方法,我正在寻找它 - 有什么想法吗?

0 投票
3 回答
9951 浏览

spring - 使用 mockmvc 和 junit 添加 csrf 令牌

我有两个元数据(我使用的是百里香):

在我的测试控制器中,我这样做:

当我运行测试时,我收到此错误(未找到令牌或为空):

org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 org.thymeleaf.exceptions.TemplateProcessingException: 异常评估 SpringEL 表达式: "_csrf.token" (layout/default:4) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:979) at org. springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:869) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java: 843) 在 org.springframework.mock.web.MockFilterChain 的 javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 的 org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:65) $ServletFilterProxy。

我找到了一个临时解决方案,但这不是一个好的解决方案..:

0 投票
2 回答
3406 浏览

spring - 如何使用 MockMVC 检查 Spring Unittest 中的返回类型?

我想测试的 Spring 方法

我想确保所有对 /files 的调用都会以 List[FileListRequest] 响应。如何?
这是测试应该采用的方法。

我可以简单地替换一些东西还是我完全错了?

我可以对 perform() 返回的对象运行断言方法吗?

0 投票
2 回答
1750 浏览

junit - 测试中的深度/嵌套依赖注入

我正在使用 junit、mockito 和 mockMVC 来测试 webapp 的工作。我正在与一个我无法弄清楚的注入依赖作斗争。我的 webapp 结构如下。

和服务等级

我需要测试这个控制器的搜索方法,但是 service2 当前没有运行,因此必须模拟对它的调用。我可以模拟 service2,但无法弄清楚如何在控制器的 mockMVC 实例中注入 service2 的模拟。据我所知,mockito 中的@InjectMocks 只注入一层深的模拟,而不是两层。

编辑:

我正在使用以下内容来获取控制器的 MockMVC 实例

0 投票
1 回答
149 浏览

spring - 休眠分离对象持续存在

我正在为一个 webapp 编写测试用例,它需要我模拟控制器并验证 URL 命中的结果。但是,我收到错误“分离的实体传递给持久”。然而,webapp 是实时的并且可以正常工作,这意味着问题出在我的测试上。

我使用以下测试上下文进行休眠

上下文不适用于数据库中的表,它在使用持久更新对象时给出上述错误。表模式简化如下

我在stackoverflow上尝试了其他答案,建议id不能存在于被持久化的对象中,因为它导致hibernate相信对象与数据库同步,但是将id留空仍然会产生同样的错误。使用 merge 而不是 persist 会产生一个错误,上面写着

“键‘uq_code’的重复条目‘M923’;SQL [n/a];约束 [null]”

我尝试在每次 URL 命中后刷新会话,就像这样

但错误保持不变。同样,将会话参数 singleSession 和 hibernate.transaction.auto_close_session 设置为 true/false 也无济于事。这里有什么问题。

0 投票
0 回答
562 浏览

unit-testing - MockMvc:预期的转发 URL:但是是:

我在我的 spring mvc 应用程序中为 test 和 main 提供了以下 Velocity 配置:

当我部署 WAR 和我MockMvcResultMatchers的所有测试时,它可以正常工作,除了返回 null 的 `forwardedUrl:

适当的被测控制器具有以下开头:

堆栈跟踪开始:

为什么转发的 URL 不正确?是 MockMvc 还是速度设置的问题?

0 投票
1 回答
128 浏览

spring - 启动 Spring JUnit 测试时出现 IllegalStateException

我制作了一个简单的 Maven Spring REST 项目。(这个:https ://spring.io/guides/gs/rest-service/ )

之后我使用 MockMVC 做了一个简单的 JUnit 测试来测试 REST 功能。在这种情况下:我的代码是否响应 /greeting?

当我运行我的测试(使用 IntelliJ)时,我得到了这个 IllegalStateException。

我该如何解决这个问题?

错误信息