【软件构造】使用JUnit进行单元测试

简介

        JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。

好处

        1.可以书写一系列的测试方法,对项目所有的接口或者方法进行单元测试。

        2.启动后,自动化测试,并判断执行结果, 不需要人为的干预。

        3.只需要查看最后结果,就知道整个项目的方法接口是否通畅。

        4.每个单元测试用例相对独立,由Junit 启动,自动调用。不需要添加额外的调用语句。

        5.添加,删除,屏蔽测试方法,不影响其他的测试方法。 开源框架都对JUnit 有相应的支持。

环境配置

        从官网http://www.junit.org 下载 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() 方法检查两个数组是否相等

JUnit 注解

  1. @Test:这个注释说明依附在 JUnit 的 public void 方法可以作为一个测试案例。
  2. @Before:有些测试在运行前需要创造几个相似的对象。在 public void 方法加该注释是因为该方法需要在 test 方法前运行。
  3. @After:如果你将外部资源在 Before 方法中分配,那么你需要在测试运行后释放他们。在 public void 方法加该注释是因为该方法需要在 test 方法后运行。
  4. @BeforeClass:在 public void 方法加该注释是因为该方法需要在类中所有方法前运行。
  5. @AfterClass:它将会使方法在所有测试结束后执行。这个可以用来进行清理活动。
  6. @Ignore:这个注释是用来忽略有关不需要执行的测试的。

JUnit 加注解执行过程

  • beforeClass(): 方法首先执行,并且只执行一次。
  • afterClass():方法最后执行,并且只执行一次。
  • before():方法针对每一个测试用例执行,但是是在执行测试用例之前。
  • after():方法针对每一个测试用例执行,但是是在执行测试用例之后。
  • 在 before() 方法和 after() 方法之间,执行每一个测试用例。

JUnit 执行测试

        测试用例是使用 JUnitCore 类来执行的。JUnitCore 是运行测试的外观类。要从命令行运行测试,可以运行java org.junit.runner.JUnitCore。对于只有一次的测试运行,可以使用静态方法 runClasses(Class[])

JUnit 参数化测试

        Junit 4 引入了一个新的功能参数化测试。参数化测试允许开发人员使用不同的值反复运行同一个测试。你将遵循 5 个步骤来创建参数化测试。

  • @RunWith(Parameterized.class) 来注释 test 类。
  • 创建一个由 @Parameters注释的公共的静态方法,它返回一个对象的集合(数组)来作为测试数据集合。
  • 创建一个公共的构造函数,它接受和一行测试数据相等同的东西。
  • 为每一列测试数据创建一个实例变量。
  • 用实例变量作为测试数据的来源来创建你的测试用例。

        一旦每一行数据出现测试用例将被调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值