首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Mavem进行集成测试

作者 | Emmanouil Gkatziouras

翻译 | 袁思思

原文 | https://dzone.com/articles/integration-tests-with-maven

使用Maven实现单元测试是很普通的事情,我们大多数人都熟悉项目结构和单元测试所在的地方。但是,集成测试是不同,而且大多数情况下它们的需求非常不同。

例如,把单元测试运行在h2内存数据库中是可以的,但是当涉及到集成测试和复杂查询时,最好是针对实际的关系数据库执行,就像在生产中使用的那样。

考虑到上面的例子,有可能我们的集成测试有不同的配置和相关项,所以我们的集成测试的目标是将它们与其他测试分开,并分别执行它们。

关于在源目录中我们的Maven结构,我们有主要的“文件夹”和测试“文件夹”。同样,我们还会添加一个名为“it”的额外目录。“it”目录将包含一个为了Java源的Java目录和一个资源目录。我们将为测试目录使用相同的结构。

然后,我们需要向Maven提供构建代码的指令,并将其添加到我们的测试源中:

build-helper-maven-plugin

1.5

add-test-source

process-resources

add-test-source

src/it/java

下一步是命令Maven运行单元测试。为此,我们将使用Maven failsafe插件。Failsafe插件被设计用来运行集成测试,而Surefire插件是设计用来运行单元测试的。之所以选这个名字(failsafe),是因为它是surefire的同义词,它意味着当它失败时,它会以安全的方式进行。

maven-failsafe-plugin

2.15

integration-test

integration-test

verify

verify

然后执行集成测试,我们将发布:

mvn verify

如预期的那样,我们的集成测试是分开运行的。

综上所述,我们希望将集成测试与单元测试分离开来。而且,我们希望它们分开运行。这可以通过使用Maven failsafe插件实现。

你可以在GitHub上找到一个示例项目。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180110B0OEY800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券