问题标签 [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-mvc - spring mvc servlet 3异步响应没有数据库结果测试
我正在我的新项目中测试新的 servlet 3 异步请求,并在测试控制器时卡住了。
我有一个这样的控制器方法:
以及这样的相应测试:
Repository and stuff 是一个简单的 spring data jpa bean,整个配置基于 spring boot。
如果我以正常方式查询控制器,一切正常,但在测试中,存储库不返回任何结果。
非常感谢您对此的帮助,我在网上找不到类似的东西。
java - 从 JUnit 测试将数据注入会话
我需要运行一个 JUnit vs Spring MVC 测试用例,其中的先决条件包括某些数据存在于 HTTP 中Session
。最重要的是我不能连接一个session
-scoped bean:我必须访问httpServletContext.getSession()
.
在展示代码之前,让我解释一下。我需要测试的控制器假定某个数据存储在会话中,否则会引发异常。这是目前正确的行为,因为在没有会话的情况下永远不会调用该控制器,并且会话始终在登录时使用应用程序数据进行初始化。显然控制器处于安全状态。
在我的测试中,我只需要根据请求参数测试这个控制器是返回重定向还是 404 未找到。
我想建立我的测试用例,例如
部分代码是真正不言自明的。无论如何,我希望/common/navigate
使用我存储在会话中的值。像这样
现在猜。当我运行我的代码时会发生什么?
RuntimeException 在我评论的行中抛出,因为在会话中找不到菜单对象
显然这个问题现在是隐含的,但我仍然会写它:如何将数据注入 Session 对象,以便被测控制器将它们作为前提条件可用?
spring-security - HDIV 配置在隐藏字段而不是 URL 中设置参数
我正在使用 Spring MVC 4.1.7.RELEASE 和 HDIV 2.1.11。我已将 HdivRequestDataValueProcessor 设置为拦截控制器代码中的内部重定向,如下所示。
这导致在 URL 中设置 HDIV 状态参数。在 HdivRequestDataValueProcessor 代码中,我看到它正在使用 LinkUrlProcessor 将 HDIV 状态作为请求参数写入重定向的 url。
有没有办法将 HDIV 配置为将此参数作为隐藏字段而不是在 url 中?
java - Spring MVC 测试失败
我正在尝试运行 Spring MVC 测试,但不断收到此异常。
org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 java.lang.NullPointerException
发生异常是因为自动装配的依赖,
没有在测试中注入(在测试之外工作正常)。
谁能帮我这个。这是我的代码:
//AccountControllerITest 类
}
//账户控制器
}
谢谢您的帮助!
mongodb - 在春季数据mongo中将列表转换为页面?
我真的很难在春季数据中转换为 mongo 吗List<User> users
?Page<User>
注意Page
是来自的 API org.springframework.data.domain.Page
;
我正在使用Pagination
Spring Data Mongo,所以我需要发送Page<User>
而不是List<User>
.
如果我不想使用Page<>
存储库方法,我们如何从列表中获取页面?
请帮我。
spring-mvc - BindingResult.getFieldValue() 在测试上下文中为格式化值返回 null
在 spring mvc 应用程序中,我提交 id 并使用格式化程序将该 id 转换为对象。它在容器中运行良好。
但是在单元测试环境中,我看到了一个问题。
我模拟格式化程序总是返回我的测试值,这很好,它被注入到 ModelAttribute 中。但是在 BindingResult 中,对 example 的调用result.getFieldValue("location")
返回 null,但仅在 MockMvc 上下文中。
这是测试用例:
这是控制器的相对部分:
然后跳过一些项目,这是失败的相关验证,我location
作为字段传递。
由于一定是错误,该对象无法验证。
如果我调试控制器,我观察到的是:
- 对象在 FormWrapper 中,属性在那里。
- 但是在 BindingResult 对象中,如果我调用 spring 验证代码中调用的 'getFieldValue('location')`,它会返回 null,因此验证器会拒绝该值。
所以由于某种原因,绑定结果没有注册格式化字段或其他东西。请注意,这只发生在单元测试中,而不是容器中。
有谁知道如何解决?
快速编辑:
我进行了更多调试,但在来自AbstractPropertyBindingResult
. value
直到调用conversionService 来转换它之前都可以。我没有下载该方法之外的源代码,因此我无法确切了解它失败的原因,但在convert
方法中的某个地方,它正在从正确的值变为空值。我推测是因为我正在使用 MockObjects,也许它正在调用一些我没想到会返回值的东西。
grails - 是否可以直接在 grails 中使用 Spring MVC 测试,以及如何使用?
我们认为这Spring Rest Doc
对于记录 rest api 非常有用。但它是基于Spring MVC Test
,我们无法弄清楚如何Spring MVC Test
在我的 grails 应用程序中使用(Grails 3.0.5)。
我尝试使用配置类(使用@Configuration
and @ComponentScan
)将 grails 组件扫描到测试上下文中,但似乎没有加载任何内容(当对 执行 http 请求时mockmvc
,它得到 404)。
我还尝试直接配置 grails 控制器,但出现运行时错误。
无法自动装配字段:私有 reactor.bus.EventBus
我还尝试@Integration
在测试类上添加(来自 grails),但收到了同样的错误。
请帮忙。
以下是一些代码示例。我尝试将配置类或类位置或 grails 控制器添加到下面测试类的 ContextConfiguration 中。并且测试类本身基本上遵循spring rest doc
参考。
配置类(没有用):
spring-mvc - Spring @SqlGroup MetaAnnotation 不起作用
我正在尝试为一些集成测试设置元注释。这个测试工作正常。
然后我尝试创建一个元注释接口:
但是,当我使用替换 SqlGroup 的注释运行相同的方法时,它会失败,因为没有加载 sql 数据。
pom.xml的相关部分如下,spring.version为4.2.1.RELEASE。
有谁知道为什么没有使用元注释版本加载数据?
spring - 调用 REST API 的 Spring MVC 控制器的错误单元测试
我在我的小应用程序中对 spring MVC 控制器进行单元测试,但出现以下错误:
其余控制器如下:
请参阅下面的 TestContext:
如前所述,应用程序可以正常工作,我可以读取通过浏览器返回的 json 并将其显示在我的 angularjs 视图中,但是单元测试不起作用。错误是 java.lang.AssertionError:预期状态:<200> 但原为:<204>。204 - 响应为空... 可能是 > 正在初始化 Spring FrameworkServlet ''即框架 servlet 未初始化?没有把握。任何帮助将不胜感激
我的休息控制器
@RestController 公共类 ItemRestController {
}
java - 断言错误:JUnit 测试中的 JSON 路径没有值
我已经编写了一个测试并且它之前成功但现在我得到一个 AssertionError: No value for JSON Path。
我得到的错误是:
我不明白它没有得到什么或缺少什么。