本文最后更新于:3 years ago
简介
JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。
好处
- 可以书写一系列的测试方法,对项目所有的接口或者方法进行单元测试。
- 启动后,自动化测试,并判断执行结果, 不需要人为的干预。
- 只需要查看最后结果,就知道整个项目的方法接口是否通畅。
- 每个单元测试用例相对独立,由Junit 启动,自动调用。不需要添加额外的调用语句。
- 添加,删除,屏蔽测试方法,不影响其他的测试方法。 开源框架都对JUnit 有相应的支持。
测试分类
- 黑盒测试:不需要写代码,给输入的只,看程序是否能够输出期望的值。
- 白盒测试:需要写代码的。关注程序具体的执行流程。
这里我们所说的Junit就是白盒测试。
Junit使用
定义测试类
定义一个测试类(测试用例)
建议:
测试类名:被测试的类名Test CalulatorTest
包名:xxx.xxx.xx.test com.fxhstudy.test
定义测试方法
定义测试的方法:可以独立运行
建议:
方法名:test测试的方法名 testAdd()
返回值:void
参数列表:空参
给方法加@Test
当我们加入@Test注解时,会报错,直接Alt+Enter,会自动给你添加Junit测试类包
判定结果
红色:失败
绿色:成功
一般我们会使用断言操作来处理结果
Assert.assertEquals(期望的结果,运算的结果);
如何操作
这里我在junit
文件夹下创建了Calculator
,其中写了add
和sub
测试方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| package com.fxhstudy.junit;
public class Calculator {
public int add(int a, int b){ return a + b; }
public int sub(int a, int b){ return a - b; }
}
|
在test文件夹下面创建了CalculatorTest
测试类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| package com.fxhstudy.test;
import com.fxhstudy.junit.Calculator; import org.junit.Test;
public class CalculatorTest {
@Test public void test(){
Calculator c = new Calculator(); int result = c.add(1, 2); }
}
|
如图则表示我们的没有异常,注意,没有异常是代表程序在系统运行中是没有问题,并不表示你的代码和你所预期的一样。
如何想测试和你所预期是否一致,我们需要用到断言,下面会介绍断言。
接着,我们将Calculator
中的测试方法添加异常
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| package com.fxhstudy.junit;
public class Calculator {
public int add(int a, int b){ int i = 3 / 0; return a + b; }
public int sub(int a, int b){ return a - b; }
}
|
再用测试类测试时,会出现这样的错误
这里就是因为测试的方法出现了错误异常,但是你在写程序时,编译器是不会爆红的。
接着我们使用断言操作来处理结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| package com.fxhstudy.test;
import com.fxhstudy.junit.Calculator; import org.junit.Assert; import org.junit.Test;
public class CalculatorTest {
@Test public void test(){
Calculator c = new Calculator(); int result = c.add(1, 2);
Assert.assertEquals(3, result); }
}
|
测试成功,没有异常
接着我们再将断言结果改为-1
| Assert.assertEquals(-1, result);
|
此时出现了异常
以上就是关于Junit的一些基本测试方法。