JUnit是Java开发中使用最为广泛的单元测试框架,如果你是一个Java工程师,相信你一定听过或者用过它。
常用注解
| 描述 | JUnit4 | JUnit5 | 
|---|---|---|
| 测试方法 | @Test | @Test | 
| 在每个test方法之前执行 | @Before | @BeforeEach | 
| 在每个test方法之后执行,主要用于释放外部资源 | @After | @AfterEach | 
| 在当前类的所有方法之前执行,并且仅执行一次,方法必须为static void | @BeforeClass | @BeforeAll | 
| 在当前类的所有方法之后执行,并且仅执行一次,主要用于释放昂贵的外部资源,方法必须为static void | @AfterClass | @AfterAll | 
| 忽略测试方法 | @Ignore | @Disable | 
执行顺序:@BeforeClass -> @Before -> @Test -> @After -> @Before -> @Test -> @After -> … -> @AfterClass。
断言方法
JUnit4在org.junit.Assert类中提供了一系列的断言方法。
为了提高可读性,在使用这些方法时,JUnit4推荐采用静态导入的方式。
| 1 | import static org.junit.Assert.*; | 
- assertTrue(boolean condition)
- assertNotNull(Object object)
- assertEquals(Object expected, Object actual)
- ……
JUnit初体验
下面以测试单表查询为例,建表语句如下:
| 1 | drop database if exists `test_jdbc`; | 
使用JUnit4的测试代码如下:
| 1 | import static org.junit.Assert.assertNotNull; | 
注意:上面的打印语句只是为了说明不同注解的执行顺序。
在实际编写测试代码时,不建议使用System.out,推荐采用断言方法。
 
        