问题标签 [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.
spring - 弹簧 mvc 控制器上的 MockMvc
我的控制器中有以下代码:
我的 MyControllerTest 类中的以下代码
MyFormBean 中的 id 字段用@NotNull 注释
所以我尝试了这个的各种排列(requestAttr、sessionAttr 等,而不是 param 和其他一些),但我无法让它工作。充其量我在@Valid 子句上得到了例外。其他时候,测试将通过而无需实际输入方法。
我试图遵循一些示例,但找不到具有我特定方法签名的任何内容。
任何帮助表示赞赏,谢谢。
spring - 发布表单对象上的 Spring mockMvc
我的控制器中有以下代码:
我的 MyControllerTest 类中的以下代码
MyFormBean 中的 id 字段用@NotNull 注释
所以我尝试了这个的各种排列(requestAttr、sessionAttr 等,而不是 param 和其他一些),但我无法让它工作。充其量我在@Valid 子句上得到了例外。其他时候,测试将通过而无需实际输入方法。
我试图遵循一些示例,但找不到具有我特定方法签名的任何内容。
spring-test - MockMvc WebAppConfiguration:在 web.xml 中加载 servlet 映射
我正在使用 MockMvc 编写集成测试,我想知道是否有办法从 web.xml 加载 servlet 映射(这通常无关紧要)。
我有一个HandlerInteceptor
将请求 URI(来自HttpServletRequest
)与模板(使用AntPathMatcher
)相匹配的自定义。
在 web.xml 中,我定义了这样的 servlet 映射(带有相应的 mobile-context.xml):
所以当一个控制器定义一个像这样的映射时"/operation"
,请求真的应该被发送到"/services/operation"
。我的自定义HandlerInterceptor
将 URI 请求与"/**/services/{operationName}/**"
.
我的应用程序在 Tomcat 上运行良好。但是,在@ContextConfiguration 中,我只能指定mobile-context.xml,因为web.xml 不是spring 配置文件。因此,MockMvc 只允许我向"/operation"
而不是发出请求"/services/operation"
,从而导致我HandlerInterceptor
抛出异常。
有没有办法让 MockMvc 注册 servlet 映射,或者有什么聪明的方法解决这个问题?提前致谢。
编辑:这里有一个类似的问题表明我需要的东西是不可能的,但我没有更改源代码的权限,所以我不能修改模板或HandlerInterceptor
.
spring-mvc - mockMvc - 测试错误消息
有人有任何提示吗,或者有人知道我如何测试 HTTP 响应对象返回的“错误消息”吗?
回复:
java - 带有 MockMvc 的 Hamcrest:检查键是否存在但值可能为空
我正在用 MockMvc 做一些测试,我想验证 JSON 响应的结构。具体来说,我想确保属性的键存在,并且该值是某种类型或 null。
以下对我有用,但我想知道是否有办法将每组两个期望组合成一行,因为我有很多属性要检查:
这hasKey()
是必要的,因为其他断言本身通过,因为 MockMvc 的实现中不存在的键映射为 null:
jsonPath().exists()
也不起作用,因为它在内部将值与null
.
我考虑过制作这样的单独方法:
但它迫使我以一种不自然的方式拆分我的代码:
是否有任何聪明的 Hamcrest Matcher 可以应用于每个属性的单个 json 路径?
java - Register @ControllerAdvice annotated Controller in JUnitTest with MockMVC
My @ControllerAdvice
annotated Controller looks like this:
Of course my development is test driven and I would like to use my exception Handler in the JUnit Tests. My Test case looks like this:
Probably I need to register the ControllerAdvice
Class. How to do that?
spring-mvc - 使用 JSONPath 和 spring mvc 断言数组数组
我很难弄清楚如何在 spring mvc 的 JSON 文档响应中使用 jsonPath 进行断言。也许有比在这个特定场景中使用 jsonPath 更好的方法来实现这一点。我想验证链接数组有一个“self”的rel项,并且“self”对象的“href”属性也有一个等于“/”的“href”属性。JSON 响应如下所示:
我试过这个,我可以看到它有 rel [0] 有 self 但我宁愿不依赖链接数组和 rel 数组中 self 的位置,并实际测试链接 [rel][self] 的 href 是什么是 ”/”。有任何想法吗?
mockito - Mockito:: MockMVC 的空指针异常
我在 spring-mvc 中有项目。我用mockito写了一个测试用例,下面是代码:
这是我的 pom 文件:
但是在构建项目时,我遇到了这个异常:
任何想法?谢谢。
更改为独立后:我得到 java.lang.Exception:mvc 具有空值。这是我的代码
spring - 当前请求不是 MockMultipartFile 测试上的多部分请求
我也在发布可怕的“当前请求不是多部分请求”消息。
我正在使用最新的 Spring 和兄弟姐妹,并具有以下配置:
我还有一个控制器处理程序:
使用常量:
最后是测试:
}
但是 Maven 构建给了我以下信息:
有什么线索吗?
我已经在谷歌上搜索了一个小时......
编辑:完整的堆栈跟踪
编辑:更多配置
一些 Maven 依赖项是:
controller - 我需要创建方法get() 和status() 来用mockmvc 创建一个测试控制器吗?
我正在尝试测试我的第一个控制器,在互联网上遵循了一些示例,但方法get()
和status()
编译错误。
我的班级控制器
此行有多个标记 - 未定义类型 ClienteControllerTest 的方法 get(String) - 未定义类型 ClienteControllerTest 的方法 status()