【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录

背景

Jetbrain IDE 支持生成 Test 类,其中选择JUnit5 和 JUnit,但是感觉这不是标准的单元测试,因为接口命名吧。

差异对比

两者生成的单测API名称同原API,没加test前缀的。使用差异主要表现在:

  • setUp & tearDown 的注解
  • 引用的junit包

| | JUnit 4 | JUnit 5 |
| setUp 注解 | Before | BeforeEach |
| tearDown 的注解 | After | AfterEach |
| 引用的junit包 | org.junit.Test | org.junit.jupiter.api.Test |
| 类名修饰符 | 有修饰符 public class UtilTest | 无修饰符, 默认 class UtilTest |

方法修饰符 有修饰符 @Before public void setUp() throws Exception { } 无修饰符, 默认@BeforeEach void setUp() { }
[JUnit 版本差异项]

代码template

JUnit 5

java 复制代码
import static org.junit.jupiter.api.Assertions.*;

import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

class UtilTest {

    @BeforeEach
    void setUp() {
    }

    @AfterEach
    void tearDown() {
    }

    @Test
    void customTypeSummary() {
    }

JUnit 4

要求类是公开public的,否则代码报错:

Test class 'UtilTest' is not constructable because it is not 'public'

java 复制代码
import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class UtilTest {

    @Before
    public void setUp() throws Exception {
    }

    @After
    public void tearDown() throws Exception {
    }

    @Test
    public void customTypeSummary() {
    }

另外有个疑问,怎么才能让main java 类文件能检测到对应的单元测试Coverage?是否跟类生成的方式或者Test类/API命名有关?

相关推荐
问道飞鱼9 分钟前
【移动端知识】移动端多 WebView 互访方案:Android、iOS 与鸿蒙实现
android·ios·harmonyos·多webview互访
aningxiaoxixi1 小时前
Android 之 audiotrack
android
枷锁—sha1 小时前
【DVWA系列】——CSRF——Medium详细教程
android·服务器·前端·web安全·网络安全·csrf
Cao_Shixin攻城狮5 小时前
Flutter运行Android项目时显示java版本不兼容(Unsupported class file major version 65)的处理
android·java·flutter
呼啦啦呼啦啦啦啦啦啦7 小时前
利用pdfjs实现的pdf预览简单demo(包含翻页功能)
android·javascript·pdf
idjl9 小时前
Mysql测试题
android·adb
游戏开发爱好者812 小时前
iOS App 电池消耗管理与优化 提升用户体验的完整指南
android·ios·小程序·https·uni-app·iphone·webview
人生游戏牛马NPC1号12 小时前
学习 Flutter (四):玩安卓项目实战 - 中
android·学习·flutter
星辰也为你祝福h13 小时前
Android原生Dialog
android
梁同学与Android14 小时前
Android ---【CPU优化】需要优化的原因及优化的地方
android