问题标签 [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 投票
0 回答
1040 浏览

java - mockMvc 期望异常

我想知道如何测试我的控制器是否抛出异常?

当然,异常会导致控制器重定向到另一个页面或者会返回 500 状态码。就我而言,它根据 FF 所说的返回 500 Internal Server Error。

我试着说我期望这个状态码,但它不起作用。我怎样才能做到这一点?

编辑:

控制器:

我的服务-getP():

不知何故,我想处理这个异常。

0 投票
2 回答
23869 浏览

java - 如何使用 mockmvc 处理控制器异常

我正在使用 MockMVC 来测试我的控制器。

我有以下控制器:

我目前的测试看起来像这样:

我正在用这个实例化 MockMVC:

如何处理控制器中抛出的异常?

后期编辑:

我不确定我的代码最近发生了什么,但它通过了测试:

如果我替换为 ,它仍然会is(500)通过isOk()。这不好,我应该以某种方式检查该异常。

如果我运行 agradle build我得到这个:

0 投票
2 回答
1324 浏览

java - 发布多部分 MockMvc 弹簧测试

我正在尝试测试我的上传我正在使用 Junit、Mockmvc 和 Spring

你可以帮帮我吗?

错误堆栈跟踪:

[org.springframework.test.context.support.DependencyInjectionTestExecutionListener@361cb7a1] 准备测试实例 [endpoint.security.tests.UploadTest@6f7918f0] org.springframework.beans.factory.BeanCreationException:创建名为“endpoint.security. tests.UploadTest':自动装配依赖注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 com.sun.jersey.server.impl.application.WebApplicationContext endpoint.security.tests.UploadTest.wac;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type of [com.sun.jersey.server.impl.application.WebApplicationContext] found for dependency: 预期至少有 1 个 bean 有资格作为此依赖项的自动装配候选者. 依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)} at [.cp/:na] 原因:org.springframework.beans.factory.BeanCreationException:无法自动装配字段:private com .sun.jersey.server.impl.application.WebApplicationContext 端点.security.tests.UploadTest.wac;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type of [com.sun.jersey.server.impl.application.WebApplicationContext] found for dependency: 预期至少有 1 个 bean 有资格作为此依赖项的自动装配候选者. 依赖注解:私有 com.sun.jersey.server.impl.application.WebApplicationContext 端点.security.tests.UploadTest.wac;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type of [com.sun.jersey.server.impl.application.WebApplicationContext] found for dependency: 预期至少有 1 个 bean 有资格作为此依赖项的自动装配候选者. 依赖注解:私有 com.sun.jersey.server.impl.application.WebApplicationContext 端点.security.tests.UploadTest.wac;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type of [com.sun.jersey.server.impl.application.WebApplicationContext] found for dependency: 预期至少有 1 个 bean 有资格作为此依赖项的自动装配候选者. 依赖注解:

0 投票
1 回答
15248 浏览

java - 在需要身份验证的控制器上运行单元测试

我有一个 Spring Boot 应用程序,它需要登录才能执行某些操作。我正在尝试使用 测试它们MockMvc,但它似乎不起作用。我不断收到状态为 403(禁止)的 HTTP 响应。身份验证部分可能有问题。

我已尝试按照文档进行操作,但无法使其正常工作。

这是我当前的测试代码:

抱歉,如果我遗漏了一些明显的东西。这是我第一次体验spring boot。

0 投票
0 回答
103 浏览

java - 使用带有嵌套对象参数的 spring mvc 测试我的控制器类的测试用例

以下是我的控制器类,我想为下面编写 spring mvc 测试用例。我无法理解如何在我的测试类中传递参数。我已经用谷歌搜索了足够多的东西,但找不到合适的解决方案。

所以,现在我的问题是,在使用 MockMvc 时,我需要知道我必须传递给这个参数的内容(“问题就在这里”,“问题就在这里”)。

非常感谢您的帮助。谢谢你。

0 投票
0 回答
2591 浏览

java - Spring Boot MockMVC - 请求范围内的bean未正确自动装配

我想要一个请求范围的bean,用过滤器中的数据填充它,然后访问控制器中的数据。当我运行我的应用程序时,这一切都很好,但是当我尝试使用 MockMVC 测试它时,数据没有在我的控制器的请求范围 bean 中设置。

这是代码:

pom.xml

应用

RequestScopedBean

控制器

筛选

最后是测试:

如果我将范围更改为“会话”,则测试通过。

0 投票
1 回答
14920 浏览

java - 使用 jsonPath 检查 Map 键/值

我正在测试一个返回地图的控制器

测试:

我应该使用哪个表达式从 Map 中读取键和值?

编辑:解决它的一种方法可能是:

然后遍历地图检查值。但是有没有办法做到这一点jsonPath

0 投票
0 回答
1064 浏览

controller - MockMVC 不适用于 server.context-path=/myRoot

O. 我正在使用 Spring boot server.context-path=/myRoot。然后我有一个处理@RequestMapping("/some/path") 的@RestController。在控制器单元测试中,我使用的是 MockMvc。

所以我的问题是内容是空的。这是因为我的单元测试没有使用 server.context-path=/myRoot。因此,如果我使用此 URL“/myRoot/some/path”,则 http 状态为 400,因为它找不到匹配的处理程序。如果我使用此 URL“/some/path”,则 http 状态为 200,但内容为空(不应该)。如果我用 @RequestMapping("/myRoot") 注释我的控制器,它可以与这个 URL "/myRoot/some/path" 一起使用。但随后我的应用程序将无法按预期工作。在最后一种情况下,我将不得不使用这个 URL “/myRoot/myRoot/some/path” 来获得我的服务的响应。

所以理想的解决方案是去掉 server.context-path=/myRoot。这无法完成,因为应用程序依赖于该属性。关于如何解决这个问题的任何想法?

提前致谢。

更新:

这是我的基类。我的测试课正在扩展这个。

0 投票
1 回答
1165 浏览

spring-mvc - org.springframework.web.servlet.DispatcherServlet noHandlerFound 通过 MockMvc 测试时

我已经使用 Spring Mvc 4 定义了一个休息服务,然后通过 MockMvc 进行了测试。当我通过以下 URL 使用 Tomcat 7 运行服务时,返回正确的响应:

http://localhost:8080/SpringServiceSample/service/greeting/Niharika

但是当我运行 Junit 测试时,我的日志中出现 404 错误:

以下是代码:

SpringServiceController.java

测试-servlet.xml

web.xml

SpringServiceControllerTest.java

请建议我在这里可能做错了什么。

0 投票
2 回答
5107 浏览

spring-security - 运行 JUnit 测试时,Spring 安全性未调用我的自定义身份验证过滤器

我正在尝试按照这篇文章使用 Spring Security 实现自定义无状态身份验证

我面临的问题是框架没有调用我的自定义过滤器,即使我的 SecurityConfig 看起来与上一个链接中的几乎相同(有点简单):

我没有发布authenticationProviderappAuthenticationFilter的代码,因为前者工作正常(我可以使用 /login 端点登录),而后者只是实现了GenericFilterBean甚至没有被调用。

任何帮助将非常感激!