在Eclipse中运行需要Maven预集成测试执行的JUnit集成测试?

时间:2013-04-15 13:59:34

标签: java eclipse maven junit integration-testing

我编写了一些当前从Maven运行的JUnit集成测试(通过命令行或CI服务器)。这些集成测试在Maven的“预集成测试”生命周期阶段内自动配置和启动数据库和servlet容器。

我非常希望在Eclipse JUnit启动配置中运行这些JUnit测试(就像我做所有其他测试一样)。但是,JUnit启动配置不会触发预集成测试执行,因此未正确建立测试环境。

什么是最好的方法让它发挥作用?

4 个答案:

答案 0 :(得分:3)

您可以使用Run -> Run Configurations设置Maven运行配置在Eclipse中运行,假设您拥有Eclipse的Maven插件。使用目标clean verify将运行单元测试和集成测试。

此外,如果您使用故障安全报告Maven插件,您可以创建JUnit样式报告,您可以使用JUnit框架在Eclipse中打开它,以查看哪些测试通过并失败。

答案 1 :(得分:2)

我刚刚发现的一种方法是使用Eclipse Launch Groups,如下所示:

http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.cdt.debug.application.doc%2Freference%2Fcdt_u_run_dbg_launch_group.htm

我错过了这个,因为这个功能,虽然语言无关需要从Eclipse的C / C ++端安装,如下所示:

What installable component provides 'launch groups' in Eclipse?

在启动组中,第一个作业应该运行maven任务来处理测试资源,下一个作业启动服务器,然后最后一个作业执行junit测试。

答案 2 :(得分:0)

我不知道你想要使用什么数据库,但是对于单元测试来说,它可以方便地使用内存数据库,也可能是嵌入式servlet容器。也许你可以使用像http://arquillian.org/

这样的东西

答案 3 :(得分:-3)

JUnit框架应主要用于单元测试而不是集成测试。 QA团队可以进行集成测试。

如果您有很多集成管道代码,那么您应该考虑模拟外部元素,例如数据库和Web服务调用。

主要集中在测试您编写的代码上。添加负面,正面和异常的测试场景。这将使您的代码比完全集成测试更具可信度。

对于数据库我建议使用DBUNIT> http://www.dbunit.org/这是测试数据库管道的绝佳工具。此工具可以从数据库创建XML模式,您可以将数据保存为xml复制数据库。 这将避免更改JUnit测试的任何数据集。