问题标签 [spring-mvc-test]
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 - Spring MVC 测试用例
我是 Spring MVC 的新手,我使用 spring MVC 和 resteasy 编写了 web 服务。我的控制器工作正常,现在需要编写测试用例,但我尝试了 writtig,但我从未成功我也遇到了自动装配问题。
@控制器
谁能给我 Spring mvc 中测试用例的示例代码。
unit-testing - @WebAppConfiguration 未注入
我正在尝试使用 Spring 3.2.1 创建 spring-mvc 测试。在一些教程之后,我认为这将是直截了当的。
这是我的测试:
这是我相关的 pom.xml:
我有以下测试配置类:
我的理解是添加@WebAppConfiguration
会强制 Spring 注入它。但是当我在 Eclipse 中运行这个测试时,我得到:
引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有为依赖找到[org.springframework.web.context.WebApplicationContext]类型的合格bean:预计至少有1个bean有资格作为此依赖的自动装配候选者。依赖注解:在 org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:967) 在 org.springframework.beans 的 {@org.springframework.beans.factory.annotation.Autowired(required=true)}。 factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:837) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:749) 在 org.springframework.beans.factory.annotation。
更新- 我必须更改我的测试 Java 配置类
但是,现在的问题是我可以调用我的 REST 服务,但它正在调用其他一些服务,包括数据库调用。仅测试呼叫和模拟响应的首选方法是什么。我想测试有效和无效条件。
spring-mvc - Spring MVC 控制器的集成测试
我有一个控制器,它返回 XML 数据以响应调用。下面是代码
accountBalanceList 用 xml 注释。我从这个调用中得到的响应是这样的
我想为此控制器调用编写集成测试。我知道如何使用 JSON 响应测试控制器,但我不知道如何测试响应何时为 XML。任何帮助将不胜感激。
问候
spring - 使用 Spring MVC Test 测试 Spring MVC @ExceptionHandler 方法
我有以下简单的控制器来捕获任何意外异常:
我正在尝试使用 Spring MVC 测试框架编写集成测试。这是我到目前为止所拥有的:
我在 Spring MVC 基础架构中注册了 ExceptionController 和一个模拟 StatusController。在测试方法中,我设置了从 StatusController 抛出异常的期望。
异常被抛出,但 ExceptionController 没有处理它。
我希望能够测试 ExceptionController 是否获得异常并返回适当的响应。
关于为什么这不起作用以及我应该如何进行这种测试的任何想法?
谢谢。
spring - 在 Spring MVC 应用程序中测试转发
有没有办法forward:/
在 JUnit 测试中测试从 Spring MVC 控制器返回的视图的功能?
我正在使用MockMvc
Spring 3.2 中的功能,并且在某些情况下我的控制器转发到另一个(通过返回视图名称forward:/pathHandledByController
)。
能够断言当这个转发发生时,@ModelAttribute
来自第二个控制器的所有 s 都被应用并且一切都正常处理,这将是很棒的。不幸的是MockMvc
,我只能断言返回的视图名称以forward:/
.
有什么方法可以在不启动整个网络应用程序的情况下进行测试,比如 Jetty?我已经在 MVC 应用程序中插入了很多服务,我将如何创建一个使用单独的 Spring 配置(来自src/test/resources
)和这些服务的模拟的 web 应用程序?
testing - 是否可以使用 Springs MockMvc 测试 Portlet 控制器?
您可以使用 MockMvc 类测试您的“普通”Spring MVC 控制器,如下所示:
因为在 Portlet 中实际上没有 URL 这样的东西,所以我们必须使用其他机制来控制映射。最常见的两个是 portlet 模式和请求参数,但是任何可用于 portlet 请求的东西都可以在自定义处理程序映射中使用。
MockMvc 仅适用于“普通”控制器,还是在测试 Portlet 控制器时可以使用它?
spring - 集成测试中的 Spring autowire HttpServletRequest
我们有像这样的单例控制器
MyObject 在过滤器/拦截器中创建并放入 HttpServletRequest 属性中。然后在@Configuration中获取:
在主代码中一切正常,但在测试中却不行:当我从集成测试中运行它时:
它抱怨说NoSuchBeanDefinitionException: No matching bean of type [javax.servlet.http.HttpServletRequest]
。(起初,它抱怨请求范围不活跃,但我按照这里的建议使用带有 SimpleThreadScope 的 CustomScopeConfigurer 解决了它)。
如何让 Spring 注入知道我的 MockHttpServletRequest?还是直接MyObject?
spring - 无法为 Spring 控制器的 JUnit 测试加载 ApplicationContext
我想编写一个测试用例来检查我的控制器(getPersons)。这是一个服务器端代码。我很困惑我应该在里面放什么@ContextConfiguration(locations={"file:src/main/webapp/WEB-INF/app-contest.xml"})
其次,我遇到了一些这样的错误:
无法加载应用程序上下文。找不到路径[我在@ContextConfiguration 中指定的]
我有这样的结构:
这是我的测试
痕迹
有人可以帮我弄清楚这里有什么问题吗?
java - 使用 MockMvc 进行 Spring MVC 测试
我正在尝试运行测试以测试 Spring MVC 控制器。测试编译并运行,但我的问题是我收到了 PageNotFound 警告:
我非常简单的测试如下:
我 100% 确定我的 webapp 映射到“/”的首页,并且视图上的名称是“searchfrontpage”。
请帮忙!
spring-mvc - 如何有效地为 spring mvc 集成测试创建基测试类
我有一系列集成测试,我想用它们来测试我的 spring-mvc/spring-data-jpa 堆栈。不幸的是,构建时间是荒谬的,而且每次新的集成测试只会变得更糟。看起来好像每个单独的测试都在通过创建嵌入式数据库、创建 bean 等的开销。
我有一个基础测试类:
我的 JpaConfig.java 在哪里:
最后我尝试使用它,例如:
在查看构建日志时,我可以看到每个测试的应用程序正在初始化。有没有办法让 BaseIntegrationTest 只启动一个和每个测试以使用该应用程序上下文和嵌入式数据库?
========
更新
我将我的 JpaConfig 更改为:
我的 BaseIntegration 现在是空的:
这是因错误而失败的测试之一:
InvalidDataAccessResourceUsageException(未找到表“ADDRESSTYPEREF”;SQL 语句:
但是,所有集成测试似乎都重新创建了 applicationContext 和嵌入式数据库。虽然构建日志没有显示正在创建的数据源,但我确实看到每个集成测试都会创建一个新的 log4j 文件,并且构建 45 个测试需要 15 分钟。