问题标签 [spring-mvc-test]
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.
spring - 由于某些奇怪的原因,Spring MVC 测试 3.2.2 未能通过“flash().attributeExists”断言
我正在测试以下Spring MVC 控制器方法:
这是我的测试方法:
即使将“消息”闪存属性添加到重定向属性映射中,Spring MVC 测试似乎也没有注意到它,并且上面的行FAILS HERE
系统性地未能通过测试!
您可以自己看到flash 属性确实在下面的 FlashMap 中(message
请参阅参考资料doPrint()
):
有人可以帮忙吗?仅供参考,我使用 Spring 3.2.2。
java - @PreAuthorize 安全角色注解
我正在尝试了解一些 Spring 安全代码。我也是 Spring Security 的新手,我想我在这里缺少一些基本的东西。
我在其中一个类上有这个注释:
我读到了@PreAuthorize
它的逻辑。我仍然无法理解 Spring 安全性从哪里检索定义的角色字符串:'LINKS_ADMIN'
。它在哪里定义?
谢谢,雷。
java - 如何在使用 MockMvc 的测试中避免 NullPointerException?
我有控制器:
为了测试这种方法,我编写了以下类:
在服务器端执行的进程请求中,我看到错误显示事件对象为空。
问题:
我必须使用 MockMvc 将传递事件写入服务器端(控制器方法)的什么请求?
java - 你如何让 spring-mvc-test 框架停止捕获异常?
我在 Spring 3.2.4 中使用 Spring MVC 测试框架,我遇到的一个问题是它不断捕获异常。例如,如果您使用 JSON 数据(或其他任何东西)执行 POST,并抛出 aNullPointerException
或 Jackson MappingException
,它不仅会像常规测试那样在控制台输出中报告它 - 它会捕获它并用它做其他事情 -或者有时完全压制它并迫使我在我的控制器中创建临时@ExceptionHandler
方法或手动调用andDo(print())
只是为了看看出了什么问题。
如何让 spring-mvc-test 框架像任何其他测试一样只报告错误?我使用 IntelliJ IDEA,我只想查看异常堆栈跟踪,并且对于 IDE 提供的行号等具有完全的可点击性。如果没有这个最基本的测试功能,使用 Spring MVC 测试框架创建和调试测试实际上是一件很痛苦的事情。
我真的很感激帮助。
java - Spring mock mvc 保持文件扩展名
我能在这里找到的唯一相关问题是这个。
不幸的是,与上述问题不同,我没有使用文件名作为路径变量。我在一个字符串中发送的内容可能有也可能没有'.'。因此,我不想使用上述问题的解决方案中提到的策略。
这是我的 WebConfigAdapter:
我在我的 WebConfig(一个 java 文件)中导入 WebConfigAdapater,如下所示:
在我的应用程序上下文 xml 中:
当我在单元测试中使用 Spring mock mvc 时,我仍然无法弄清楚为什么下面的控制器接收到字符串输入,它会在字符串中的最后一个句点(包括句点)之后去除字符。
这是我在单元测试中调用上述端点的方式:
所以现在控制器看到的是“4.3”。这也是我关于堆栈溢出的第一个问题,所以如果我遗漏了一些需要的信息或者可以以更好的方式更好地解释我的问题,请告诉我!谢谢您的帮助!
java - 弹簧 setDisallowedFields 不起作用
注册控制器不允许通过以下方式发送帐户 ID 字段:
我运行以下测试以确保不允许使用 ID:
但测试失败原因:java.lang.AssertionError: Expected binding/validation errors
这里的比较是尝试在不通过不可为空的字段的情况下创建帐户的测试并且它通过了很好,这意味着setRequiredFields
工作正常:
为什么它会以这种方式工作?我如何确定不允许使用该 id?
hibernate - MockMvc 不加载命名查询
当我在 tomcat 服务器上运行我的 Web 应用程序时,我的命名查询已正确加载:
但是当我使用 MockMvc 休眠时找不到任何命名查询。结果我在执行测试时出错
Tomcat日志:
测试日志:
持久性.xml:
MycompanySecurityTest.java:
用户.orm.xml:
java - 使用 Spring Mvc Test 测试 Spring Security Controller
登录 jsp 表单和 spring security xml 配置如下:
这是表单汇总的测试:
但我得到:java.lang.AssertionError: Status expected:<302> but was:<404>
当我在浏览器中打开登录页面时,我看到生成的表单是:
好的,我尝试将测试更改为:
但是得到了同样的结果。同时,当我在浏览器中提交登录表单时,它会将我重定向到public/index.htm
页面,正如测试中所期望的那样。
我究竟做错了什么?
java - MockMvc:forwardedUrl 为空
我在进行此测试时遇到问题。断言总是失败,因为它无法验证始终为空的 forwardedUrl。如果我删除这个假设,它就无法验证返回模型。我想这是由于缺少转发的 URL。我的测试类如下所示:
测试配置文件如下所示:
我必须注意,我只是 spring mvc 的初学者,而且我不熟悉控制器测试。
编辑:我忘了添加 UserController 实现:
编辑:这是导致此问题的异常的完整堆栈跟踪:
selenium - 以编程方式在一个线程中启动服务器并使用 maven test 命令在另一个线程中运行测试
我为我的 spring mvc 项目编写了黄瓜/硒测试用例。
我的意图是,当我从控制台运行 mvn test 时,我正在启动码头服务器,其中 spring(mvc dispatcher) bean 加载在一个单独的线程中,而正常流程包括运行黄瓜测试用例。
比如下面这张。
RunCukesTest.java
使用UIService
集合步骤定义
当我使用 java main 方法运行 UsageUIService 时,我可以点击我在驱动程序中提到的 url,
xyz:8085/usage-ui/collection.htm
该过程仍在等待,直到我按Ctrl+C
但是,当它作为 Junit/mvn 测试运行时,我无法实现并且码头服务器没有启动。该进程不会等待并在执行 @Test 方法后立即结束。
使用 main 运行 java 程序和以 junit 运行有什么区别?
为什么在以 Junit 身份运行时它不保持提示并保持进程直到我执行ctrl+ C?
我想引导我的应用程序,当我通过 mvn test/Junit 运行并同时继续执行黄瓜测试套件时,它应该开始在一个线程中侦听端口 8085。
有什么解决办法吗?