Junit 单元测试以及断言

简介

单元测试是用来进行测试我们业务代码是否有问题,而不用在业务代码中到处System.out.println(),在基于maven的项目中,默认就给我们生成了test目录专门用来写单元测试。在spring 项目中主要使用Junit框架来实现单元测试,而单元测试中最多用到的就是断言,通过断言来判断程序是否符合预期。

JUnit 中的断言

Junit所有的断言都包含在 Assert 类中。

这个类提供了很多有用的断言方法来编写测试用例。只有失败的断言才会被记录。Assert 类中的一些有用的方法列式如下:

  1. void assertEquals(boolean expected, boolean actual):检查两个变量或者等式是否平衡
  2. void assertTrue(boolean expected, boolean actual):检查条件为真
  3. void assertFalse(boolean condition):检查条件为假
  4. void assertNotNull(Object object):检查对象不为空
  5. void assertNull(Object object):检查对象为空
  6. void assertSame(boolean condition):assertSame() 方法检查两个相关对象是否指向同一个对象
  7. void assertNotSame(boolean condition):assertNotSame() 方法检查两个相关对象是否不指向同一个对象
  8. void assertArrayEquals(expectedArray, resultArray):assertArrayEquals() 方法检查两个数组是否相等
方法名 方法的解释
void assertEquals(boolean expected, boolean actual) 检查两个变量或者等式是否平衡
void assertTrue(boolean expected, boolean actual) 检查条件为真
void assertFalse(boolean condition) 检查条件为假
void assertNotNull(Object object) 检查对象不为空
void assertNull(Object object) 检查对象为空
void assertArrayEquals(expectedArray, resultArray) 检查两个数组是否相等
void assertSame(expected, actual) 查看两个对象的引用是否相等。类似于使用“==”比较两个对象
assertNotSame(unexpected, actual) 查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象
fail() 让测试失败

JUnit 中的注解

主要注解

@Test:这个注释说明依附在 JUnit 的 public void 方法可以作为一个测试案例。

@Before:有些测试在运行前需要创造几个相似的对象。在 public void 方法加该注释是因为该方法需要在 test 方法前运行。

@After:如果你将外部资源在 Before 方法中分配,那么你需要在测试运行后释放他们。在 public void 方法加该注释是因为该方法需要在 test 方法后运行。

@BeforeClass:在 public void 方法加该注释是因为该方法需要在类中所有方法前运行。

@AfterClass:它将会使方法在所有测试结束后执行。这个可以用来进行清理活动。

@Ignore:这个注释是用来忽略有关不需要执行的测试的。

注解的加载过程

beforeClass(): 方法首先执行,并且只执行一次。

afterClass():方法最后执行,并且只执行一次。

before():方法针对每一个测试用例执行,但是是在执行测试用例之前。

after():方法针对每一个测试用例执行,但是是在执行测试用例之后。

在 before() 方法和 after() 方法之间,执行每一个测试用例。

你可能感兴趣的:(Junit 单元测试以及断言)