【问题标题】:Integration tests with Arquillian and Arquillian Spring Framework Extension使用 Arquillian 和 Arquillian Spring Framework Extension 进行集成测试
【发布时间】:2012-08-22 01:24:45
【问题描述】:

我想建立一个用于集成测试的基础架构。 目前我们使用 maven 引导 tomcat,然后执行 httpunit 测试。 但目前的解决方案几乎没有缺点。

  1. 如果测试,提交到数据库的任何更改最终都需要手动回滚
  2. 在集成测试中运行代码覆盖率并不简单(我们使用的是声纳)。

我的目标是:

  1. 允许在测试之间自动回滚(希望使用字符串 @transaction 和 @rollback)
  2. 简单直接的代码覆盖率
  3. 使用 @RunWith 从 JUnit 而非外部引导系统
  4. 与实时 servlet 和 javascript 交互(我考虑从 httpuinit 切换到 selenium……)
  5. 合理的执行时间(至少不长于现有的执行时间)

上面的目标对我来说是合理的,并且对于许多 Java/J2ee 项目来说很常见。 我正在考虑通过使用 Arquillian 和 Arquillian Spring Framework Extension 组件来实现这些目标。 另见https://github.com/arquillian/arquillian-showcase/

  1. 有没有人使用过 Arquillian 和 Arquillian Spring Framework Extension 并有经验?
  2. 您能否分享问题的最佳实践和经验教训?
  3. 谁能建议上述方法的替代方法?

【问题讨论】:

    标签: spring junit jboss-arquillian


    【解决方案1】:

    我无法完全回答您的问题。只有一些提示

    1. 关于自动回滚。就我而言。使用 liquibase 在“hsqldb”或“h2”上初始化测试数据,可以设置为内存模式。那就不用回滚了。

    2. 给阿奎利安。这是一个很好的真实测试方法。我学到的是“Arauillian Spring Framework Extension”只是一个扩展。您必须绑定到特定容器,例如“jboss、glasshfish、tomcat”才能运行测试。 但是我不知道如何申请一个不需要应用服务器支持的基于spring的javaSE程序。

    我的教训是 jboss 端口冲突。因为 jboss-dist 被设置为 8080 作为默认的 http 端口。但是我们公司的代理和8080一样。所以我不能使用maven来获取jboss-dist工件。

    希望其他人可以提供更多信息。

    【讨论】:

    猜你喜欢
    • 2014-03-18
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 2015-11-11
    相关资源
    最近更新 更多