问题标签 [spring-test-mvc]

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 回答
1046 浏览

java - 如何将 MockMvc 与控制器模拟一起使用

我有这个控制器方法:

使用 mockMvc 我想模拟结果并检查两个变量if (result.getErrorCount() > 1 )

我怎么能做到?

0 投票
1 回答
7090 浏览

java - 我的所有控制器单元测试的 Spring 3.2.5 错误“java.lang.AssertionError: No ModelAndView found”

我正在尝试在 Spring MVC 中为我的控制器编写一些单元测试,但我的单元测试已经出错:“java.lang.AssertionError: No ModelAndView found。

我的应用程序和控制器工作正常。

有没有人有任何想法?

代码控制器:

单元测试 :

弹簧安全配置:

web.xml 配置:

请求日志:

堆栈跟踪:

0 投票
3 回答
2765 浏览

java - Spring4 MVC单元测试无法编译

在 Spring 3.2.5 → 4.0.0 版本更新后尝试编译源时,我有奇怪的行为。

错误的代码片段ApplicationControllerTest.java(它相当于文档中的代码):

错误:

COMPILATION ERROR : /C:/Development/.../war/src/test/java/org/.../web/controller/ApplicationControllerTest.java:[59,61] C:\Development\...\war\src\test\java\org\...\web\controller\ApplicationControllerTest.java:59: incompatible types; inferred type argument(s) java.lang.Object do not conform to bounds of type variable(s) B found : <B>org.springframework.test.web.servlet.setup.DefaultMockMvcBuilder<B> required: java.lang.Object

如果查看MockMvcBuilders来源,可以看到差异:

春季 4.0.0:

春季 3.2.5:

我试图使其可编译的尝试没有成功。

实际上Spring 文档说框架应该与 Java 1.6.0_10 兼容。我使用 Java 1.6.0_45。

0 投票
5 回答
8339 浏览

java - 在 Spring MVC 测试框架中添加用户角色以请求

今天开始在办公室学习 Spring Test MVC 框架,它看起来很方便,但马上就面临一些严重的问题。花了几个小时谷歌搜索,但找不到与我的问题相关的任何内容。

这是我非常简单的测试类:

测试到达以下控制器,但if由于未正确授权,第一个子句失败。

如何为MockHttpServletRequest创建者添加用户角色MockMvcRequestBuilders.post(),以便通过对控制器的权限检查?

我知道MockHttpServletRequest有一个 method addUserRole(String role),但由于MockMvcRequestBuilders.post()返回 a MockHttpServletRequestBuilder,我从来没有得到我的手MockHttpServletRequest,因此无法调用该方法。

检查 Spring 源代码,MockHttpServletRequestBuilder没有与用户角色相关的方法,也没有MockHttpServletRequest.addUserRole(String role)在该类中调用过,所以我不知道如何告诉它在请求中添加用户角色。

我能想到的只是在过滤器链中添加一个自定义过滤器并HttpServletRequestWrapper从那里调用一个自定义来提供 的实现isUserInRole(),但是对于这种情况来说这似乎有点极端。当然,该框架应该提供更实用的东西?

0 投票
1 回答
612 浏览

java - 使用 spring mvc 集成测试时 Spring security taglib 不可见

我正在尝试使用 MockMvc 类进行一些“集成”测试

我用:

但是负责生成页面的freemarker正在使用安全标签库

maven依赖:

测试时似乎不可用..异常:

应用程序本身正在运行,但我必须使用 mvn tomcat:run-war 而不是 mvn tomcat:run 来获取 taglib。

0 投票
3 回答
5216 浏览

unit-testing - 弹簧控制器测试。似乎找不到 MockMvcRequestBuilders

我正在尝试按照 本指南Spring 的用于测试 MVC 控制器的文档为我的 Spring 控制器编写一些单元和集成测试

问题是我无法在 mvnrepository 中为以下代码找到适当的包含

我找不到 get("/foo) 方法和 .mimeType(....) 的 jar。

然而,通过谷歌搜索,我能够在此处找到上述 get 和 mimeType 的来源。那么,我应该从这个 Spring Test 展示项目中复制粘贴这些帮助程序类吗?还是我在这里遗漏了什么?

0 投票
1 回答
2109 浏览

java - Spring-Test-Mvc 控制器测试

我正在使用 spring-test-mvc (独立),因为我的应用程序使用 spring 3.1 运行。我基本上只是想测试我的控制器方法和响应 HTTP 代码。

但我得到一个 NoSuchMethodError

有必要@Autowire 我的控制器吗?我的构造函数错了吗?在 src/test/resources/"package-path"/AdminSpringControllerTests-context.xml 中有一个上下文文件,但它只包含<context:annotation-config />and <tx:annotation-driven />,我是否必须在那里注入我的控制器 bean(问题 1,是否有必要)。

感谢任何帮助:)

// 编辑

我更新了我的代码:

但是知道我有一个问题(我认为),我没有得到正确的 WebApplicationContext :

0 投票
0 回答
510 浏览

java - How can I mock the parameters for a controller method using Spring MVC 3.1.x and spring-test-mvc?

Using Spring MVC 3.1.x and spring-test-mvc, I was wondering if there is a way to mock the parameters of a function being mapped using @RequestMapping. Please see the code snippet below. I would like to know if I can use spring-test-mvc and mock out the response method below. I know that I can create an instance of the controller class, and then pass in mocked values of the request/response, but that doesn't test out the annotated portions of the code, which is why I would like to know if there is a way to do this using spring-test-mvc. If that is not possible, then is there another way that I can verify that the OutputStream is returning the correct results?

Thanks in advance!

Juan

0 投票
2 回答
39138 浏览

java - java.lang.AssertionError:junit Spring MVC 控制器时未设置内容类型?

我正在使用 JUnit 来测试我的 Spring MVC 控制器。下面是我的方法,它返回一个index.jsp页面并显示Hello World在屏幕上 -

下面是我对上述方法的 JUnit 测试:

当我调试它时,上面的junit工作正常,但是当我运行junit时run as junit,它给了我这个错误 -

因此,为了解决这个问题,我遵循了本教程,之后我得到了这个异常 -

我在这里做错了什么?在 .jsp 页面上,它显示Hello World..

我在这里跟进我之前的问题

0 投票
1 回答
7215 浏览

java - java - 在执行junit时如何将参数传递给Spring MVC控制器中的post方法?

我正在对我的 Spring MVC 控制器方法进行单元测试。下面是我尝试对它进行单元测试的方法,因为它在我启动服务器时工作正常。

每当我要点击index页面时,它都会在浏览器上显示三个文本框,我在其中输入数据并按下提交按钮,然后调用以addNewServers正确的值进行。

现在我需要对同样的事情进行单元测试:

下面是我的junit类:

谁能帮我这个?