项目上线之前,都需要测试,不然心里虚啊。测试有很多中,单元测试、集成测试、功能测试等等。maven能与主流的单元测试框架如junit集成,能自动运行单元测试,无需我们手工执行单元测试方法,还能自动生成测试报告、测试覆盖率等。
maven执行测试任务是用过maven-surefire-plugin插件来完成的。maven-surefire-plugin插件的test目标与default生命周期的test阶段绑定,可运行test执行测试。因此,当我们在命令行输出mvn clean test时,其实执行的是maven-surefire-plugin插件的test目标。
默认情况下,maven-surefire-plugin插件的test目标会自动执行测试源码路径(src/test/java)下符合命名模式的类
**/Test*.java
**/*Test.java
**/*TestCase.java
因此,我们要新建单元测试,只需要在src/test/java下新建满足命名模式的单元测试类,然后运行mvn test命令,maven会自动执行满足命名模式的单元测试类的方法。
跳过单元测试
如果想跳过单元测试的某个测试方法,可以在测试方法上使用@Ignore注解
如果是跳过真个测试类,有以下三种方法
1、使用-DskipTests参数,在执行构建命令时可以附加参数,如mvn clean test -DskipTests,这样就会跳过测试阶段,这是maven推荐的方式;
2、配置插件
通过显示配置插件的方式,使用configuration配置跳过测试,覆盖插件默认的行为,这种方式是不推荐的,因为正常我们应该执行单元测试,使用插件往往会在我们没有意识到的情况下跳过了测试,而我们以为是测试通过了;
3、使用-Dmaven.tesk.skip=true参数跳过测试代码的编译,这种方式同样是不推荐的。
指定测试用例
有时候我们测试时,某个单元测试失败了,我们需要调试那个失败的测试,而成功的测试可以暂时略过,此时可以通过-D指定测试用例:
1、-Dtest=xxxTest
2、-Dtest=xxx*Test
3、-Dtest=xxx*Test,Testxxx
*用于匹配模式,匹配0或多个字符,逗号用于分隔多个单元测试类。
同样,我们可以在插件中配置包含或排除的单元测试类
测试报告及覆盖率
maven-surefire-plugin默认会在target/surefire-reports目录下生成两种格式的错误报告
- 简单文本格式
- 与junit兼容的xml格式
当我们在执行mvn test完后,可以在target/surefire-reports目录下查看生成的测试报告。
我们也可以使用cobertura-maven-plugin插件生成测试报告覆盖率
相关推荐
以下是对第八章测试题可能涉及的知识点的详细解释: 1. **数据表示**:在这一章中,学生需要理解二进制、八进制、十六进制之间的转换,以及浮点数的表示方式(IEEE 754标准)。还会讨论补码、原码和反码在表示正...
基金从业考试科目二基础知识第8章测试题及答案
八年级数学上册第14章测试卷含答案.doc
八年级生物(上)第五单元第三章测试题及答案.pdf
北师大版八年级数学下册第一章测试题及答案.doc
从提供的文件信息来看,文件名为“人教版八年级上册物理第三章测试及答案解析.pdf”,并且标注了教育类标签。虽然文件内容的具体信息没有显示出来,但我们可以从中分析出一些相关知识点,这些知识点与初中物理课程...
第8章 面向对象软件的测试 第9章 应用服务器的测试 第10章 软件本地化测试 第11章 软件测试自动化 第三篇 软件测试的实践 第12章 组建测试队伍 第13章 测试环境的建立 第14章 软件测试用例的设计 第15章 报告所发现...
第八章测试卷 1. 综合测试卷一: * 程序阅读题:本题考查了数组、循环和条件语句的知识点。 * 程序改错题:本题考查了if语句和循环语句的知识点。 * 程序填空题:本题考查了递归函数的知识点,包括函数调用和...
湘教版七年级下册地理第八章走进国家单元测试卷.pdf
八年级数学上册第一章勾股定理测试题.doc
八年级数学上第四五六章测试题.doc
第8章 测试、部署和持续集成 第三部分 SPL(标准PHP库) 第9章 SPL简介 第10章 SPL迭代器 第11章 SPL文件和目录处理 第12章 SPL数组重载 第13章 SPL异常 第四部分 MVC模式 第14章 MVC架构 ...
标题:“第4章 测试设计技术.pdf”意味着本章主要讨论测试设计技术。测试设计技术是软件测试中的核心概念,它涉及到制定测试方案、测试用例和测试规程。本章可能侧重于介绍测试设计的方法和策略,它们是软件开发生命...
八年级数学上册第11,12章测试卷.doc
这篇文档是一个针对八年级学生的新北师大版数学测试卷,主要关注第四章《因式分解》的内容。因式分解是代数中的基础概念,它涉及将多项式拆分为更简单的因子乘积形式。测试卷包含了选择题、填空题和解答题,全面考察...
"软件测试第一章"通常会涵盖软件测试的基本概念、重要性以及测试流程的介绍。本章内容旨在为初学者提供一个全面且深入的理解,帮助他们奠定扎实的软件测试基础知识。 软件测试的核心目的是发现并修复软件中的错误、...
第1章软件测试概述1南京理工大学计算机学院第8章软件测试工程第8章软件测试工程前一页休息南京理工大学计算机学院2软件测试在开发软件的过程中人们使用了许多保证软件质量的方法分析设计和实现软件但难免还会在
**第八章 测试变更** 面对项目需求变更或环境变化,测试变更管理提供了应对策略,保证测试的适应性和灵活性。 **第九章 缺陷管理** 这部分详细描述了缺陷的基本属性,如严重性、优先级等,以及管理流程,包括报告、...
【标题】"Accp 5.0 S1 C# 第八章作业"涵盖了C#编程语言在该课程体系中的一个重要章节——第八章的学习内容。在这个阶段,学生将深入理解和实践C#的基础语法、面向对象编程概念,以及可能涉及到的高级特性。 【描述...
8. **第八章测试**:可能涵盖递归和分治策略,例如斐波那契数列、快速幂运算、归并排序和二分查找等算法。 9. **第九章测试**:可能包含数据结构的高级主题,如堆(最大堆和最小堆)、红黑树等自平衡二叉查找树,...