Java单元测试框架 - JUnit

本文介绍了为何需要单元测试框架,重点讲解了如何在Java工程中添加JUnit支持,包括JUnit的常用注解、断言,以及如何编写单元测试案例。此外,还讨论了JUnit与Spring的整合,提供了不同方式从Spring容器中获取测试对象。
摘要由CSDN通过智能技术生成

我们为什么需要单元测试框架?

  当我们需要对一段代码进行测试时,怎么样让他快速跑起来呢?一个很自然的想法是编写一个main()方法,然后运行一些测试代码,我想各位大多都用过这种方法。

  但是使用main()方法测试有很多缺点:一个类只能有一个main()方法,难以同时编写多个测试案例;没有详细的测试结果,如期望值、实际值等,若想实现,则需要自行开发的代码量过多;如果需要用到Spring容器等,则简单的main()方法实现起来也不再简单。

  因此,我们需要一种测试框架,帮助我们编写单元测试案例。

为工程添加JUnit支持

  JUnit是一个开源的Java语言的单元测试框架,专门针对Java设计,使用最广泛。JUnit是事实上的单元测试的标准框架,任何Java开发者都应当学习并使用JUnit编写单元测试。

  使用JUnit编写单元测试的好处在于,我们可以非常简单地组织测试代码,并随时运行它们,JUnit就会给出成功的测试和失败的测试,还可以生成测试报告,不仅包含测试的成功率,还可以统计测试的代码覆盖率,即被测试的代码本身有多少经过了测试。对于高质量的代码来说,测试覆盖率应该在60%以上,但也不用过分追求覆盖率,需要考虑边际效益的影响。

  几乎所有的IDE工具都集成了JUnit,这样我们就可以直接在IDE中编写并运行JUnit测试。

  以IDEA为例,首先我们需要增加JUnit的依赖,如果为maven工程,则直接在pom文件里加上如下依赖即可,如果是普通工程,则需要自行下载jar包并导入。

		<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

  然后打开需要被测试的类,右键 -> Generate,然后选择JUnit版本
在这里插入图片描述

  或者右键 -> Go To -> Test,若这个类还未创建测试类,则会提示创建。
在这里插入图片描述

在这里插入图片描述

  IDEA会自动在test包下,生成对应目录与测试文件。

  需要注意的是test目录需被设置为Tests source root,若未自动设置,需在右上角File->Project Structure->Modules下,进行设置。
在这里插入图片描述

编写JUnit单元测试案例

JUnit常用注解

  JUnit中的常用注解如下:

注解 作用
@BeforeClass 表示在类刚开始时执行,只会执行一次
@AfterClass 表示在类结束时执行,只会执行一次
@Before 表示在每个被@Test注解的方法之前执行
@After 表示在每个被@Test注解的方法之后执行
@Test 用于标注测试方法,一个类里可以有多个

  当一个测试类跑起来时,执行顺序为:

@BeforeClass -> @Before -> @Test -> @After -> @AfterClass

JUnit常用断言

  JUnit中的常用断言如下:

断言方法 解释
assertEquals(expected,actual) 对比两个对象是否相等
assertNotEquals(unexpected, actual) 对比两个对象是否不相等
as
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值