单元测试(Junit+Jmockit)介绍及使用方法

本文详细介绍了单元测试的重要概念和相关技术,包括JUnit和Jmockit的使用方法。讲解了JUnit的基本注解和测试规则,以及Jmockit的模拟测试原理,提供了具体的代码示例和应用场景,强调了单元测试的独立性和验证目的。
摘要由CSDN通过智能技术生成

名称解释

单元测试(unit testing)

是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,Java里单元指一个类。单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

模拟测试(mock testing)

就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。

相关技术介绍

JUnit

是一个Java语言的单元测试框架。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

JMockit

JMockit 是用以帮助开发人员编写测试程序的一组工具和API,该项目完全基于 Java 5 SE 的 java.lang.instrument 包开发,内部使用 ASM 库来修改Java的Bytecode。所以他能解决当测试的代码包含了一些静态方法,未实现方法,未实现接口的问题。
ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。

Jmock,Mockit,EasyMock,Unitils Mock

介绍略,有兴趣可自行搜索

Junit使用

在idea中,需要安装junit插件,具体安装及运行junit的方法参考:

https://jingyan.baidu.com/article/f7ff0bfccd661d2e26bb131a.html

然后在项目中引入jar包。

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

demo类:

public class Calculate {

    public int add(int a, int b) {
        return a + b;
    }

    public int subtract(int a, int b) {
        return a - b;
    }
}

其测试类:

public class CalculateTest {
    private static Calculate calculate = null;

    @BeforeClass
    public static void beforeClass() {
        System.out.println("------------------------BeforeClass------------------------");
        calculate = new Calculate();
    }
    @AfterClass
    public static void afterClass() {
        System.out.println("------------------------AfterClass------------------------");
        calculate = null;
    }

    @Before
    public void setUp() throws Exception {
        System.out.println("-------Before Method-------");
    }
    @After
    public void tearDown() throws Exception {
        System.out.println("-------After Method-------");
    }

    @Test
    public void add() throws Exception {
        assertEquals(10, calculate.add(7, 3));
    }

    @Test
    public void subtract() throws Exception {
        assertEquals(4, calculate.subtract(7, 3));
    }
}

在测试类中右击鼠标选择Run即可执行Junit单元测试了。结果:

image.png

如果要运行多个测试类,那么在测试包上右键,点击右键菜单中的”run Tests in <包名>”即可。

注意事项:

1、测试方法上面必须使用@Test注解进行修饰。

2、测试方法必须使用public void 进行修饰,不能带有任何参数。

3、新建一个源代码目录用来存放测试代码。

4、测试类的包应该与被测试类的包保持一致。

5、测试单元中的每一个方法必须独立测试,每个测试方法之间不能有依赖。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值