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