我想为我的Web应用程序的REST资源编写一个单元(组件)测试。此测试应针对公开的REST接口,并通过发出请求和检查响应来测试其行为。
通过使用Spring的web.xml
,可以在不使用applicationContext.xml
和WebApplicationInitializer
的情况下配置Web应用程序。当我在我的(Tomcat)服务器上运行应用程序时,这很好用。
启动Arquillian测试时,ShrinkWrap存档部署在嵌入式Tomcat服务器上。由于嵌入式服务器使用我的Web应用程序的类路径运行,它还会找到我的WebApplicationInitializer
类。这是有问题的,因为它会加载许多依赖项,并且应该只为测试激活。
如何在测试中停用我的WebApplicationInitializer
(并提供替代实施)?
使用XML配置文件时,这对应于隐藏真实配置文件并使用测试中使用的特定(空?)配置。
答案 0 :(得分:0)
我通过使用我在Arquillian的WebApplicationInitializer
方法中设置的静态字段禁用我的@Deployment
实例来解决此问题。
您可能还想查看metadata-complete
导致Tomcat不调用委托给WebApplicationInitializer
实例的Spring部分。