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

java - java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.isAsyncStarted() 将 Mockito 与 Junit 一起使用

我正试图用 TDD 弄湿我的脚。我正在尝试为使用 Mockito 以及 MockMvc 和 Junit 的控制器编写单元测试用例。

但是我遇到了运行时错误,因此我的测试失败了。起初,由于找不到javax.servlet.SessionCookieConfig.

我通过下载javax.servletapi 并将其配置到项目的构建路径中解决了这个问题,但后来我面临

perform()在 MockMvc 实例上使用时。

谁能告诉我如何处理这种依赖关系,因为我认为这是由于服务器 servlet-api 和 javax.servlet api 不兼容而发生的。

编辑:我正在发布我用于单元测试的代码,但我认为这不会有任何帮助,但以防万一:

0 投票
1 回答
954 浏览

java - noHandlerFound when unit testing login powered by Spring security

I'm getting this error when submitting login form with unit test:

I'm using Spring 4.0.5.RELEASE with Spring Security 4.0.0.M1.

This is how I have configured my test class:

Login page class:

And here's SecurityContext.class where I have declared the /login/authenticate mapping:

-

-

Login page:

Everything works nice when it's running on Tomcat. Am I missing some filter or what?

While debugging I found out that urlMap in AbstractHandlerMethodMapping contains only these urls: (/login/authenticate is missing)

This is what comes from print()

0 投票
1 回答
3511 浏览

spring - 使用 MockMvc 进行 Spring MVC 测试 - webapplicationcontext 为空

我正在尝试使用 junit 和 spring-test api 为 Spring MVC 控制器创建 JUnit 测试用例。由于我的应用程序中有很多 beandefinitions,因此我使用LazyInitDefaultBeanDefinitionDocumentReader并编写了一个CustomContextLoader.

我的示例测试类将是:

在这里,如果我执行上面的代码,wac 不会自动装配,它会返回 null。loader=com.xyz.CustomContextLoader但如果我从中删除@ContextConfiguration,它工作正常。

我需要同时拥有延迟加载和 MockMvc 进行测试。我错过了什么吗?有没有更好的解决方案?

0 投票
2 回答
24342 浏览

java - java.lang.AssertionError:未设置内容类型 - Spring Controller Junit 测试

我正在尝试对我的控制器进行一些单元测试。无论我做什么,所有控制器测试都会返回

我正在测试这些方法是否返回 json 和 xml 数据。

这是控制器的示例:

单元测试设置如下:

}

我正在使用:Spring 4.0.2 Junit 4.11 Gradle 1.12

我已经看过 SO question Similiar Question但无论在我的单元测试中 contentType 和 expect 的组合如何,我都会得到相同的结果。

任何帮助将非常感激。

谢谢

0 投票
2 回答
91 浏览

java - 如何测试从接受模拟对象内的两个参数的模拟依赖项返回的对象?

我找不到任何与我的问题相关的帖子。我正在使用 Mockito,我想测试控制器内部的行为。我认为问题的核心是当我向模拟接口发送两个参数时,我没有正确使用 Mockito。如果我只发送一个参数,它就可以正常工作。我不认为我也在使用 Spring mock mvc 与此有关。

我有一个界面MyService

接口的目的是做事,如果成功则返回MyObject。如果找不到对象,则返回 null。

我有一个控制器MyController

我的测试类如下所示:

测试方法的相关逻辑是这样的。

我遇到的问题是,我希望在这种情况下,当它在线测试 MyController 时:MyObject result = this.myService.doSomeDoggyStuff(id, toy);

结果应该是我在 thenReturn 中设置的 myObj,但它始终设置为 null。我的服务中有其他方法只接受一个参数并且工作正常。当我使用 Mockito 发送两个参数时,我无法掌握我需要做些什么不同的事情。

0 投票
1 回答
3137 浏览

spring-mvc - Spring MockMvc 多部分读取 zip 文件 IOException:流已关闭

我想测试一个读取 zip 文件并遍历所有条目的 Multipart 控制器。这是执行此操作的控制器方法:

现在相关的测试如下:

@Test public void testProcessingGeneralUpload() 抛出异常 {

}

我得到的错误是:

问题似乎是我似乎无法在正确的状态下构造 MockMultipartFile 。我想一种解决方法是将所有处理逻辑重构为一个单独的方法并在容器外对其进行测试,但我宁愿将逻辑全部保存在一个地方。谁能告诉我如何实例化 MockMultipartFile 以便它可以读取 content.zip?

0 投票
1 回答
1979 浏览

spring - 为 Spring Restful Web Service 设置 MockMVC

所以我不认为这里有很多关于 Spring 的 Mockmvc 用于测试 springmvc 控制器的问题,但我通读了 spring 教程 https://spring.io/guides/tutorials/rest/2/ 那里有很多那里,但我只是想用一个 id 参数在 Web 服务上做一个简单的 GET。控制器看起来像这样:

我编写了一个使用 org.springframework.test.web.servlet.MockMvc 的单元测试,我尝试模拟(真正存根)服务调用并对状态代码进行断言,并得到状态代码 404。我的测试看起来像这样

在我发帖之前,我会提到其他一些事情。因此,查看教程中的示例,我试图只选择我只会使用的东西,因此它不是一个精确的副本。我必须做的一个很大的区别是,我怀疑这与 pom 中测试插件的配置方式有关,我必须实例化控制器,其中示例足够聪明,可以知道创建实例。此外,该示例依赖于 Gradle 进行项目设置,我只有一个包含该项目的 pom 文件。不确定这是否会有所作为。看起来这是新东西,但这是一个非常简单的例子。提前感谢您的帮助。

0 投票
1 回答
1065 浏览

java - 控制器 Spring 4 MockMvc 缺少代码属性的单元测试

我尝试使用带有 Thymeleaf 的 Spring 4 构建一些基本的 Web 应用程序,但我在测试时遇到了问题。

首先我的 build.gradle 依赖项:

接下来,我的控制器类:

和测试:package pl.com.tegess.RetrospectionSystem;

当我运行这个测试时,我得到了什么:

你有什么想法吗?

0 投票
0 回答
427 浏览

spring - Spring MockMvc:将 MultiPartFile 设置为表单的一部分

我的控制器如下所示

然后我遍历文件

我想使用spring的MockMvc为此编写一个测试用例。

没有帮助,因为 multipartfile 不是作为参数的一部分,而是作为表单中的字段。

你能帮忙吗?

回复评论:

在 JSP 中,我有一个如下所示的字段

表单实现如下

html 表单是使用非常复杂的 javascript 提交的,并且使用 EXT JS

0 投票
0 回答
228 浏览

spring-mvc - 使用 post 方法对控制器进行弹簧集成测试

我有一个带有一些参数的控制器。它RequestMethodPOST。但是我发送 POST 请求,其中包含 URI 中的一些参数和正文中的一些参数。

但是当我写这样的测试

我总是得到Status expected:<200> but was:<400>

如何正确编写此测试?