Junit测试工具使用

Junit是单元测试框架工具,在项目开发中是经常用到的,利用JUnit4进行单元测试非常简单方便,所以熟悉Junit是很有必要的。
Junit优点:

  1. 安装使用方便
  2. 可以同时执行多个测试方法
  3. 测试结果直观明了

本文记录Junit使用的基本知识:

 1. 编写测试类
 2. 使用断言
 3. 使用suite套件对多个测试类进行批处理

运行环境和工具:

  1. Intellij IEDA
  2. juint-4.10(下载地址)

详细步骤:

  1. 打开IDEA,新建java项目

  2. 在项目中导入junit包
    File->Project Structure->libraries->点击‘+’ ->java->找到下载的junit-4.10->apply->ok
    可以看到junit已经导入项目
    Junit测试工具使用_第1张图片

  3. 在src中编写源代码(被测试的类及其方法),编写测试类和测试方法,项目目录结构如下:
    Junit测试工具使用_第2张图片
    被测试类代码:
package main.com.hnust.learnjunit;

public class StringOpeator {

    public String sayHello(String str1,String str2){
        return str1+str2;
    }
}

测试类代码及其要求:

package test.junittest;

import main.com.hnust.learnjunit.StringOpeator;
import org.junit.Assert;
import org.junit.Test;

public class JunitTestOne {
    /*Test注解标记*/
    @Test
    /*固定格式:(public修饰,void返回值,自定义测试方法名称,无参)*/
    public void test1(){
        StringOpeator so =new StringOpeator();
        String str=so.sayHello("Hello","Junit");
        //断言语法
        Assert.assertEquals("HelloJunit",str);
    }
}

在测试类中右键,选择“Run**”,可以看到下面的测试执行结果窗口
Junit测试工具使用_第3张图片
原谅绿加勾表示测试结果正确。

4 . 尝试在测试类中多加入几个test方法,也就是多加入几组测试用例,测试运行:Junit测试工具使用_第4张图片可以看到测试结果窗口左侧共有三个测试方法被执行,其中test1测试结果正确test2,test3出现错误,我们可以点击它,然后在右侧看错误原因,可以知道是null空指针异常,说明被测试类的代码有bug,我们可以对其进行空指针处理,重新运行:
Junit测试工具使用_第5张图片可以看到test2测试方法结果正确,同理可以修改代码使得test3测试方法结果也正确。
5. 以上使用到Assert断言机制,所谓断言,就是判断是或者不是,它的作用和优点是什么呢?就是比较预期结果和实际结果,以图形化的方式显示结果,就像上图中,出现原谅绿色勾就表示预期结果和实际结果一样,而出现红色叹号就说明测试用例没通过,就需要改善源代码,避免程序潜在漏洞了。以Assert.assertEquals(“HelloJunit”,str)这行代码为例,”HelloJunit”是预期结果,str是实际结果,assertEqulas方法就是判断这两个字符串是否相同。当然断言的判断方法不止这个,介绍几种常见的断言方法:
assertEquals(expected,actural)
assertSame(),assertNotSame()
–以上两种区别和str1.equals(str2),str1==str2区别一样,前者比较值,后者比较地址。
assertFalse(),assertTrue()
assertNull(actural),assertNotNull(actural)

6.将测试类代码优化,提取出相同的代码放入测试类中,每一个测试方式是一个线程,重复代码使得测试程序占用过多资源

7.除了@Test,其他常用注解的使用
@Before在每个测试方法之前执行
@After在每个测试方法之后执行
@BeforeClass在所有方法执行之前执行
@AfterClass在所有方法执行之后执行
Junit测试工具使用_第6张图片
由此可见,Before和After方法执行了三次,分别在三个测试方法前后执行,BeforeClass和AfterClass只执行一次,根据类加载机制,应该是在加载阶段就已经定义,属于类的共有方法,也就是静态方法,所以要使用static关键字修饰。

8 . 使用suite套件对多个测试类进行批处理
先建立多个测试类。。
然后建立一个测试总类
测试总类使用suite套件,格式如下,运行结果如下
Junit测试工具使用_第7张图片

这就是Junit基本使用知识,以后在使用过程中再挖掘其更多的功能,熟练使用测试工具对于程序员写出高质量代码,减少程序bug有很大的帮助。

你可能感兴趣的:(java基础知识总结)