与Maven的集成测试
用Maven实施单元测试是很普通的事情,我们大多数人都熟悉项目结构以及单元测试所在的位置。
但是,集成测试是一种不同的情况,大多数情况下它们具有完全不同的要求。 例如,可以让您的单元测试在内存数据库中的h2上运行,但是在集成测试和复杂查询方面 ,最好针对实际的关系数据库(如生产中使用的关系数据库)执行它们。
考虑以上示例,我们的集成测试可能具有不同的配置和依赖性。
因此,我们集成测试的目标是使它们与其他测试分开并分别执行。
关于源目录中的Maven结构,我们有主要的“文件夹”和测试“文件夹”。
以同样的方式,我们将添加一个名为“ it”的额外目录。 “ it”目录将包含一个用于Java源代码的Java目录和一个资源目录。 与测试目录的结构相同。
然后,我们应该指导maven构建代码并将其添加到测试源中。
<plugin><groupId>org.codehaus.mojo</groupId><artifactId>build-helper-maven-plugin</artifactId><version>1.5</version><executions><execution><id>add-test-source</id><phase>process-resources</phase><goals><goal>add-test-source</goal></goals><configuration><sources><source>src/it/java</source></sources></configuration></execution></executions></plugin>
通过使用构建助手maven插件,我们可以指示maven将额外的测试源目录添加到我们的构建中。
下一步是指示Maven运行我们的单元测试。 为此,我们将使用Maven 故障安全插件 。
故障安全插件旨在运行集成测试,而Surefire插件旨在运行单元测试。 选择(failsafe)这个名称是因为它是surefire的同义词,也因为它暗示了当它失败时,它是以安全的方式这样做的。
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-failsafe-plugin</artifactId><version>2.15</version><executions><execution><id>integration-test</id><goals><goal>integration-test</goal></goals></execution><execution><id>verify</id><goals><goal>verify</goal></goals></execution></executions></plugin>
然后执行集成测试,我们应该发出。
mvn verify
正如预期的那样,我们的集成测试单独运行。
综上所述,我们希望将集成测试与单元测试分开。 我们也希望它们分开运行。 这可以通过使用Maven故障安全插件来实现。
您可以在github上找到示例项目。
翻译自: https://www.javacodegeeks.com/2018/01/integration-tests-maven.html
与Maven的集成测试相关推荐
- cargo maven_与Maven 3,Failsafe和Cargo插件的集成测试
cargo maven 开箱即用,可以在Maven中进行单元测试. 因此,它也经常用于集成测试. 这样做的主要缺点是集成测试可能需要花费更多的时间来执行,并且因为没有人喜欢每次构建都要等待很长时间–只 ...
- 与Maven 3,Failsafe和Cargo插件的集成测试
开箱即用,可以在Maven中进行单元测试. 因此,它也经常用于集成测试. 这样做的主要缺点是集成测试可能需要花费更多的时间来执行,并且因为没有人喜欢每次构建都要等待很长时间–使用-Dmaven.tes ...
- 集成spring mvc_向Spring MVC Web应用程序添加社交登录:集成测试
集成spring mvc 我已经写了关于为使用Spring Social 1.1.0的应用程序编写单元测试的挑战,并为此提供了一种解决方案 . 尽管单元测试很有价值,但它并不能真正告诉我们我们的应用程 ...
- 在Spring MVC Web应用程序中添加社交登录:集成测试
我已经写了关于为使用Spring Social 1.1.0的应用程序编写单元测试的挑战,并为此提供了一种解决方案 . 尽管单元测试很有价值,但是它并不能真正告诉我们我们的应用程序是否正常运行. 这就是 ...
- mime类型是什么类型_使用多种MIME类型测试REST
mime类型是什么类型 1.概述 本文将重点介绍测试具有多种媒体类型/表示形式的RESTful服务. 这是有关使用Spring和基于Java的配置的Spring Security设置安全的RESTfu ...
- shrinkwrap_Java EE 6测试第二部分– Arquillian和ShrinkWrap简介
shrinkwrap 在Java EE 6测试的第一部分中,我简要介绍了使用Glassfish嵌入式容器的EJB 3.1 Embeddable API,以演示如何启动该容器,如何在项目类路径中查找be ...
- 使用多种MIME类型测试REST
1.概述 本文将重点介绍测试具有多种媒体类型/表示形式的RESTful服务. 这是关于使用Spring和基于Java的配置的Spring Security设置安全的RESTful Web Servic ...
- Java EE 6测试第二部分– Arquillian和ShrinkWrap简介
在Java EE 6测试的第一部分中,我简要介绍了使用Glassfish嵌入式容器的EJB 3.1 Embeddable API,以演示如何启动该容器,如何在项目类路径中查找bean以及运行非常简单的 ...
- MAVEN集成测试环境搭建
1. MAVEN + SVN + HUDSON + SONAR集成测试环境搭建. 1.1 软件准备 Hudson.Jenkins.Sonar 1.2 软件安装 说明:本例均使用将应用程序部署至web容 ...
最新文章
- svm c++实现_机器学习笔记——SVM向量机
- 图像处理之opencv图像特效大全
- 基于NVIDIA显卡的硬编解码的一点心得 (完结)
- 【90】沟通:跨部门管理
- 3.2 参数估计:极大似然估计方法 ML
- 2030年春节,你会跟机器人一起过吗?
- 20220227:力扣第282场周赛(上)
- linux 开发板模拟u盘,ARM-Linux开发 - USB Gadget Storage 制作模拟U盘
- ai作文批改_有道词典上线AI作文批改功能,可自动批改雅思、四六级作文
- 李践《高效人士的五项管理-行动日志》 表格
- 关于cesium1.92以上版本无法加载draco压缩模型问题
- 大学,不是学习的终点,而是起点。
- 【工业视觉-CCD相机和CMOS相机成像的本质区别】
- 蓝桥杯试题 基础练习 Fibonacci数列
- java中定义byte数组,浅谈java的byte数组的不同写法
- 你真的适合做前端开发吗?
- 用Excel为人生铺路,走向希望的彼岸
- 当容器遇上Ceph和Gluster……
- 【数据结构】- 【考研复试面试题】-汇总大合集
- 区块链改革(链改)行动第二次联席会议在京召开