Junit 4 与Junit 5区别
所需JDK
Junit 4 | Junit 5 |
---|---|
需要 Java 5 或以上版本 | 需要Java 8 或以上版本 |
Architecture
Junit 4 所有的东西在一个jar包里,maven依赖如下:
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.1</version><scope>test</scope>
</dependency>
Junit 5 由JUnit Platform, JUnit Jupiter 和 JUnit Vintage 三个子项目组成:
- JUnit Platform
定义了 test engine API,用于开发在平台上运行新测试框架 - JUnit Jupiter:包含所有注解,有 TestEngine 实现来运行用这些注解编写的测试用例。
- JUnit Vintage
用JUnit 3 和 JUnit 4写的测试用例可以在JUnit 5 Platform上运行
注解
说明 | Junit 4 | Junit 5 |
---|---|---|
定义测试方法即用例 | @Test | @Test |
在当前类中的所有测试方法之前执行 | @BeforeClass | @BeforeAll |
在当前类中的所有测试方法之后执行 | @AfterClass | @AfterAll |
在每个测试用例前执行 | @Before | @BeforeEach |
在每个测试用例后执行 | @After | @AfterEach |
禁用测试方法或类 | @Ignore | @Disabled |
Tagging 和 filtering | @Category | @Tag |
断言
Junit 4 :org.junit.Assert
Junit 5:org.junit.jupiter.Assertions
Assumptions
Junit 4 :org.junit.Assume ,有如下5个方法:
assumeFalse()
assumeNoException()
assumeNotNull()
assumeThat()
assumeTrue()
Junit 5:org.junit.jupiter.api.Assumptions ,有如下三个方法:
assumeFalse()
assumingThat()
assumeTrue()
Test Suites
Junit 4 用@RunWith 和 @Suite 注解:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;@RunWith(Suite.class)
@Suite.SuiteClasses({ExceptionTest.class, TimeoutTest.class
})
public class JUnit4Example
{
}
Junit 5 用@RunWith, @SelectPackages 和 @SelectClasses,如下:
import org.junit.platform.runner.JUnitPlatform;
import org.junit.platform.suite.api.SelectPackages;
import org.junit.runner.RunWith;@RunWith(JUnitPlatform.class)
@SelectPackages("junit5.examples")
public class JUnit5Example
{
}
第三方集成
在JUnit4中,没有对第三方插件和IDE的集成支持。他们必须依靠reflection
JUnit5为此有专门的子项目,即JUnit platform,它定义了TestEngine API,用于开发在该平台上运行的测试框架
参考:https://howtodoinjava.com/junit5/junit-5-vs-junit-4/
Junit 4 与Junit 5区别相关推荐
- JUnit 4和JUnit 5区别
特征 JUNIT 4 JUNIT 5 声明一种测试方法 @Test @Test 在当前类中的所有测试方法之前执行 @BeforeClass @BeforeAll 在当前类中的所有测试方法之后执行 @A ...
- JUnit 5 –下一代JUnit的初步了解
2月初, JUnit 5(又名JUnit Lambda)团队发布了一个alpha版本. 由于JUnit 4是我工具箱中使用最频繁的项目之一,因此我认为值得一看下一个主要版本. 我试用了最新版本,并记下 ...
- JUnit 4 与 JUnit 3
JUnit 是 Java? 语言事实上的 标准单元测试库.JUnit 4 是该库三年以来最具里程碑意义的一次发布.它的新特性主要是通过采用 Java 5 中的标记(annotation)而不是利用子类 ...
- java 计算器 junit测试_Java Junit测试
使用junit做测试目的是尽量早的发现程序的bug,一个bug隐藏的时间越久,修复他的代价就越大. 1.Junit简介: Junit最初是由Erich Gamma 和 Kent Beck 编写的一个回 ...
- junit junit_穿越JUnit流
junit junit 关于JUnit 5迁移的好处之一是,您可以在老式模式下运行JUnit 4测试,并且所有内容仍然兼容. 不利的一面是,某些注释和方法在JUnit 4和JUnit 5中具有相同的名 ...
- junit junit_使用junit做其他事情
junit junit junit!=单元测试 Junit是Java单元测试框架. 通常,我们将它用于单元测试,但是很多时候我们也使用它来执行集成测试. 主要区别在于,单元测试测试单个单元,而集成测试 ...
- junit runner_了解JUnit的Runner架构
junit runner 几周前,我开始创建一个小的JUnit Runner( Oleaster ),它允许您使用Jasmine方式在JUnit中编写单元测试. 我了解到,创建自定义JUnit Run ...
- maven安装junit_JUnit安装Maven – JUnit 4和JUnit 5
maven安装junit JUnit 4 and JUnit 5 are completely different frameworks. They both serve the same purpo ...
- junit5和junit4_JUnit声明异常– JUnit 5和JUnit 4
junit5和junit4 We can test expected exceptions using JUnit 5 assertThrows assertion. This JUnit asser ...
- Junit中error和failure区别
JUnit 中有两种错误类型,一个是 failure,另一个是 error.这两者之间的差别很微妙,但是我们如果能够理解这种差别的话,对我们使用 JUnit 将会非常有帮助的. 通常来说,failur ...
最新文章
- mysql dml ddldcl权限_MySQL中的DML、DDL、DCL到底是什么呢?
- nginx实现tomcat的负载均衡及企业内部应用的代理
- Mybatis分页插件PageInfo
- CodeForces 811B Vladik and Complicated Book
- SVN trunk branch tags 区别
- php 126怎么设置发送邮箱验证码,phpmailer发送网易126邮箱的例子
- [转]2020年2月份Github上最热门的开源项目,速来围观
- Java 12 要来了!
- 数据库系统原理简答题、论述题、判断题
- java 两个项目 生成唯一id_java方式生成唯一id
- FFmpeg总结(十三)用ffmpeg基于nginx实现直播功能,推流拉流
- 美团 java_GitHub - meituan/mssapi_java: 美团云对象存储 Java SDK
- 史上最全因果推断合集-12(因果推断在哈啰出行的实践探索)
- C++ Primer 读书笔记及知识点延伸 chapter1
- 大华摄像机找不到服务器,大华无法找到网络主机解决方法
- 阿里年薪50WJAVA工程师转大数据学习路线!
- Excel·VBA自定义正则表达式函数、使用
- 《学习geometric deep learning笔记系列》第一篇,Non-Euclidean Structure Data之我见
- 编译原理,C语言实现LR(0)分析(扩展文法的生成、项目集规范簇的生成、ACTION GOTO表的生成、句子的分析)
- OpenCV是什么?