首页 文章

使用Arquillian和Arquillian Spring Framework Extension进行集成测试

提问于
浏览
4

我想 Build 一个集成测试的基础设施 . 目前我们使用maven引导tomcat,然后执行httpunit测试 . 但目前的解决方案有一些缺点 .

  • 如果测试,最终提交给数据库的任何更改都需要手动回滚

  • 集成测试的运行代码覆盖率不是直接的(我们使用的是声纳) .

My goals are:

  • 允许测试之间自动回滚(希望使用String @transaction和@rollback)

  • 简单的直接代码覆盖率

  • 使用@RunWith将从JUnit引导系统而不是外部引导系统

  • 与实时servlet和javascript交互(我考虑从httpuinit切换到selenium ......)

  • 合理的执行时间(至少不超过现有的执行时间)

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

1 回答

  • 0

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

    • 关于自动回滚 . 就我而言 . 使用liquibase在“hsqldb”或“h2”上初始化测试数据,该数据可以设置为内存模式 . 然后无需回滚 .

    • 对于Arquillian . 这是一个很好的真实测试方法 . 我学到的是“Arauillian Spring Framework Extension " is just a extension. You have to bind to a specific container like " jboss,glasshfish,tomcat”来进行测试 . 但我不知道如何申请不需要应用程序服务器支持的基于spring的javaSE程序 .

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

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

相关问题