简介

单元测试是用来进行测试我们业务代码是否有问题,而不用在业务代码中到处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() 方法之间,执行每一个测试用例。


njitzyd
58 声望7 粉丝