JUnit 5单元测试(一)
创始人
2025-05-28 23:35:28

目录

  • 一、JUnit 4与JUnit 5区别
  • 二、新建一个maven项目
  • 三、pom文件配置
    • 1.引入junit5依赖
    • 2.引入 maven-surefire-plugin插件
    • 3.最终的pom.xml
    • 4.扩展

一、JUnit 4与JUnit 5区别

JUnit 5 旨在适应Java 8 编码风格,并比 JUnit 4 更健壮和灵活。

JUnit4 需要Java5 或以上版本。

使用 JUnit5 需要 Java 8 或更高版本。

此外主要的区别是断言Assert和其他注解以及使用上的不同,具体不同点可以参考 JUnit4和JUnit5的主要区别

二、新建一个maven项目

先按照这篇文章使用idea的maven模板创建一个maven项目:idea快速创建maven项目

三、pom文件配置

1.引入junit5依赖

  org.junit.jupiterjunit-jupiter5.9.2testorg.assertjassertj-core3.24.2test

上面使用的junit-jupiter依赖是Junit 提供的一个 集合器(aggregator):它 集成了其他需要的 Junit 依赖,包括:

  • junit-jupiter-api

  • junit-jupiter-params

  • junit-jupiter-engine

这样你就只需写集合器那一个依赖就可以了。

2.引入 maven-surefire-plugin插件

引入 maven-surefire-plugin 插件以支持 Maven 执行应用程序的单元测试并生成txt或xml格式的报告。
(默认情况下,报告生成在{项目目录}/target/surefire-reports/TEST-*.xml)。

        org.apache.maven.pluginsmaven-surefire-plugin3.0.0

3.最终的pom.xml

因为用的idea的maven模板创建的maven项目,其最终生成的pom.xml中 pluginManagement里的插件版本可能有点旧,你可以自己指定插件版本,也可以把用不到的插件删除。

最终你的pom.xml看起来像下面这样:

4.0.0org.examplemavenTest1.0-SNAPSHOTmavenTestUTF-81.81.8org.junit.jupiterjunit-jupiter5.9.2testorg.assertjassertj-core3.24.2testorg.apache.maven.pluginsmaven-clean-plugin3.2.0org.apache.maven.pluginsmaven-compiler-plugin3.11.01.81.8UTF-8org.apache.maven.pluginsmaven-surefire-plugin3.0.0org.apache.maven.pluginsmaven-jar-plugin3.3.0org.apache.maven.pluginsmaven-install-plugin3.1.0

4.扩展

生命周期、生命周期阶段、插件和插件目标是 Maven 的核心。

  • Maven 命令mvn只接受生命周期阶段或插件目标作为参数。
  • Maven 带有三个生命周期:default、clean 和 site。
  • 每个生命周期由生命周期阶段组成,总共有 28 个阶段——默认 生命周期包含21 个阶段验证、…、编译、…、打包、…、安装、部署),清理的生命周期含有3个阶段预编译)清洁、清洁、清洁后),站点生命周期含有 4 个站点前、站点、站点后、站点部署)。
  • 当使用命令调用生命周期阶段时mvn,所有前面的阶段都会依次执行。
  • 生命周期阶段本身不具备完成任何任务的能力,它们依赖于插件来执行任务。
  • 根据项目和打包类型,Maven 将各种插件目标绑定到生命周期阶段,目标执行委托给它们的任务。

IDEA 主界面右侧 Maven页签的 Lifecycle 和 Plugins 里有同样的命令,比如 install,既在 Plugins 中存在,也在 Lifecycle中存在,它们有什么区别吗?

简单来说Lifecycle 下的是执行整个生命周期,而Plugins 下的是只执行它具体的阶段。

举个例子:

你点击Lifecycle 下的 install :

它会帮你执行如下过程 validate --> compile --> test --> package --> integration-test --> verify --> install ,也就是说它会帮你执行验证、编译、单元测试、打包、整合测试、最后再把生成的jar包发布到本地仓库,换句话说它会帮你执行 install 之前的所有操作,最后执行 install

你点击 Plugins 下的 install :

它只会帮你把生成的jar包发布到本地仓库,也就是说它只会帮你执行 install ,其前面的操作它不会帮你执行。

感兴趣的话可以看下这篇文章:IDEA 中 maven 的 Lifecycle 和Plugins 的区别

相关内容

热门资讯

哈尔滨工业大学北京研究院在石景... 转自:北京日报客户端12月15日,石景山区人民政府与哈尔滨工业大学签署合作协议,共建哈尔滨工业大学北...
秦来来:迟蓬,迟来的“蓬头” (来源:上观新闻)一个人因为某件事情突然火起来了、红起来了,上海人叫“起蓬头”;看看影视演员迟蓬在《...
东方网与上海电信达成战略合作,...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:澎湃新闻)1...
焦点复盘沪指低开低走创2个月新... 转自:财联社财联社12月16日讯,今日42股涨停,19股炸板,封板率为69%,百大集团、法尔胜、华菱...
“城中心”尊享养老优选 莲花池...   天渐寒,情愈暖。老年人随着年龄增长,抵抗力与御寒能力逐渐减弱,寒冷天气易引发心血管不适,也容易加...