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,推荐采用断言方法。