我想为我的Web应用程序的REST资源编写一个单元(组件)测试。该测试应该针对公开的REST接口,并通过发出请求并检查响应来测试其行为。Arquillian,Spring WebApplicationInitializer,嵌入式Tomcat
通过使用Spring的WebApplicationInitializer
,配置web应用程序时不使用web.xml
和applicationContext.xml
。当我只在我的(Tomcat)服务器上运行应用程序时,这工作正常。
当开始我的Arquillian测试时,ShrinkWrap归档文件部署在嵌入式Tomcat服务器上。由于嵌入式服务器使用我的Web应用程序的类路径运行,因此它也会找到我的WebApplicationInitializer
类。这是有问题的,因为它加载了很多依赖关系,应该只是为了测试而激活。
如何在测试中取消激活我的WebApplicationInitializer
(并提供替代实施)?
使用XML配置文件时,这对应于隐藏实际配置文件并使用测试中使用的特定(空?)配置。
是的,这是使用嵌入式容器的问题之一。您也可以使用托管/远程容器。 – LightGuard