【问题标题】:Wildfly Spring Arquillian - WAR getting deployed and undeployed with no exceptionWildfly Spring Arquillian - WAR 无一例外地被部署和取消部署
【发布时间】:2014-09-03 14:56:53
【问题描述】:

我正在做一个项目,我正在尝试使用 Arquillian 进行集成测试。我们的项目正在使用 Spring 4,Hibernate,我们正在尝试将其与 Arquillian 集成。 我无法在此链接https://github.com/arquillian/arquillian-showcase/tree/master/spring 中找到解释使用 Arquillium Spring Extension 的合适示例项目 大多数示例涉及通过创建 JAR 来测试业务逻辑。 在此链接 https://github.com/arquillian/arquillian-extension-spring 我发现了如何使用 Arquillian Spring Extension 测试网络应用程序,但不是示例。

所以这就是我想要做的。 我为该项目生成了 Web 存档,它已在 Wildfly 上成功部署,没有任何问题或错误,我们能够访问我们的网页。

我们为项目添加了 arquillian 配置,最初我们只是计划注入实体管理器并执行 DAO 访问层的测试。但是我们认为我们有完全可部署的 WAR ,所以让我们为整个测试设置 arquillian 而不仅仅是 DAO 层。因此我们决定配置相同的。

现在我不再创建整个 WAR,而是使用现有的,并且在任何配置文件中都没有更改。 (我知道应该相应地更改和使用persistence-ds,但这可以在以后使用maven完成)。所以目前我所有的配置文件(applicationContext、beans.xml、hibernate.xml、web.xml、mappings.xml ...等)都与DEV env中使用的相同。

有人能帮帮我吗,目前在测试用例中你不会看到太多测试逻辑,暂时我只是想注入实体管理器和 DAO 层

我可以尝试的下一个选项是, 不要直接使用war,而是通过添加包和依赖项等使用ShrinkWrap 创建一个......我不知道这是否真的有必要。 其他选项,我可以从视图中分离出逻辑代码并创建一个 JAR,然后使用 @SpringConfiguration ,看看它是否有效。 或者放弃 Spring Extension 并使用普通 CDI 并查看它是否有效,但是当涉及到 Spring MVC 测试时,我可能必须解决这个问题。

【问题讨论】:

标签: wildfly jboss-arquillian


【解决方案1】:

所以这里是我遇到的详细答案和问题,如果它对某人有帮助的话

首先我没有找到 Arquillian Servlet Runner, 我意识到问题出在 web.xml 中

从 Servlet 3.0 开始,web.xml 具有 metadata-complete="true" 的特性,现在这个特性提高了服务器启动时间(在我的例子中是 Wildfly),但它在 Arquillian 中的作用是 ArquillianServletRunner,它是 servlet 未被检测到。

而且我和我用于开发的 WAR 完全相同,因此出现了问题。

我要做的只是创建一个带有 metadata-complete = false 的重复 web.xml 并放入 src/test/resources 并更新我的开发战并将其用于 arquillian。

现在第二个问题,这是我的错误,因为我们使用的是 Spring 容器,我们已经从服务器的standalone.xml 中删除了 Weld 子系统。

但是当我添加焊接容器后,bean 开始被@Inject 注解注入。

但我希望我的测试环境与开发环境完全相同,所以我添加了适当的 arquillian spring 依赖项并再次删除了焊接容器,它仍然可以工作。

这是我的更新 pom.xml 和 arquillian.xml。

https://gist.github.com/shrikanthavale/ec96736e32df8b6985bb https://gist.github.com/shrikanthavale/8cd19f2a6c3be8cc44be

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 2014-11-19
    • 2019-10-27
    • 2015-03-10
    • 2018-12-05
    相关资源
    最近更新 更多