问题标签 [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 回答
342 浏览

spring - 弹簧 mvc 控制器上的 MockMvc

我的控制器中有以下代码:

我的 MyControllerTest 类中的以下代码

MyFormBean 中的 id 字段用@NotNull 注释

所以我尝试了这个的各种排列(requestAttr、sessionAttr 等,而不是 param 和其他一些),但我无法让它工作。充其量我在@Valid 子句上得到了例外。其他时候,测试将通过而无需实际输入方法。

我试图遵循一些示例,但找不到具有我特定方法签名的任何内容。

任何帮助表示赞赏,谢谢。

0 投票
0 回答
2689 浏览

spring - 发布表单对象上的 Spring mockMvc

我的控制器中有以下代码:

我的 MyControllerTest 类中的以下代码

MyFormBean 中的 id 字段用@NotNull 注释

所以我尝试了这个的各种排列(requestAttr、sessionAttr 等,而不是 param 和其他一些),但我无法让它工作。充其量我在@Valid 子句上得到了例外。其他时候,测试将通过而无需实际输入方法。

我试图遵循一些示例,但找不到具有我特定方法签名的任何内容。

0 投票
2 回答
4592 浏览

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.

0 投票
4 回答
31628 浏览

spring-mvc - mockMvc - 测试错误消息

有人有任何提示吗,或者有人知道我如何测试 HTTP 响应对象返回的“错误消息”吗?

回复:

0 投票
4 回答
29617 浏览

java - 带有 MockMvc 的 Hamcrest:检查键是否存在但值可能为空

我正在用 MockMvc 做一些测试,我想验证 JSON 响应的结构。具体来说,我想确保属性的键存在,并且该值是某种类型或 null。

以下对我有用,但我想知道是否有办法将每组两个期望组合成一行,因为我有很多属性要检查:

hasKey()是必要的,因为其他断言本身通过,因为 MockMvc 的实现中不存在的键映射为 null:

jsonPath().exists()也不起作用,因为它在内部将值与null.

我考虑过制作这样的单独方法:

但它迫使我以一种不自然的方式拆分我的代码:

是否有任何聪明的 Hamcrest Matcher 可以应用于每个属性的单个 json 路径?

0 投票
6 回答
21447 浏览

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?

0 投票
3 回答
43133 浏览

spring-mvc - 使用 JSONPath 和 spring mvc 断言数组数组

我很难弄清楚如何在 spring mvc 的 JSON 文档响应中使用 jsonPath 进行断言。也许有比在这个特定场景中使用 jsonPath 更好的方法来实现这一点。我想验证链接数组有一个“self”的rel项,并且“self”对象的“href”属性也有一个等于“/”的“href”属性。JSON 响应如下所示:

我试过这个,我可以看到它有 rel [0] 有 self 但我宁愿不依赖链接数组和 rel 数组中 self 的位置,并实际测试链接 [rel][self] 的 href 是什么是 ”/”。有任何想法吗?

0 投票
1 回答
7948 浏览

mockito - Mockito:: MockMVC 的空指针异常

我在 spring-mvc 中有项目。我用mockito写了一个测试用例,下面是代码:

这是我的 pom 文件:

但是在构建项目时,我遇到了这个异常:

任何想法?谢谢。

更改为独立后:我得到 java.lang.Exception:mvc 具有空值。这是我的代码

0 投票
1 回答
7547 浏览

spring - 当前请求不是 MockMultipartFile 测试上的多部分请求

我也在发布可怕的“当前请求不是多部分请求”消息。

我正在使用最新的 Spring 和兄弟姐妹,并具有以下配置:

我还有一个控制器处理程序:

使用常量:

最后是测试:

}

但是 Maven 构建给了我以下信息:

有什么线索吗?

我已经在谷歌上搜索了一个小时......

编辑:完整的堆栈跟踪

编辑:更多配置

一些 Maven 依赖项是:

0 投票
2 回答
11442 浏览

controller - 我需要创建方法get() 和status() 来用mockmvc 创建一个测试控制器吗?

我正在尝试测试我的第一个控制器,在互联网上遵循了一些示例,但方法get()status()编译错误。

我的班级控制器

此行有多个标记 - 未定义类型 ClienteControllerTest 的方法 get(String) - 未定义类型 ClienteControllerTest 的方法 status()