您当前的位置: 首页 >  Java

星许辰

暂无认证

  • 0浏览

    0关注

    466博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java基础——Junit单元测试

星许辰 发布时间:2021-08-22 15:55:05 ,浏览量:0

目录
  • 1.Junit的介绍
  • 2.Junit的使用
  • 3.案例演示Junit的使用

1.Junit的介绍

Junit是一个Java语言的单元测试框架,继承TestCase类,简单理解为可以用于取代java的main方法。Junit测试是程序员测试,即所谓的白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit属于第三方工具,需要导入jar包后使用,Junit的官网地址为http://junit.org/junit4/ ,如果想要查看Junit的其它版本,改变地址中的版本序号即可。

2.Junit的使用

(1)在项目中导入jar包,一般来说有以下两种方法: 对于Maven项目,直接在相应的pom.xml文件中添加Junit的依赖即可(具体的版本可根据实际需求选择);



    
        junit
        junit
        4.7
    

对于普通项目,将Junit的jar包(提取码:test)导入到项目中即可; (2)编写测试类,简单理解Junit可以用于取代java的main方法; (3)在测试类方法上添加注解@Test; (4)@Test修饰的方法格式:public void 方法名() {…}(此处的方法名建议以test开头)。除此之外,方法还必须无参数无返回值,否则在运行时会报错,然后再编写测试代码进行测试即可。如果想同时运行测试类(例如类名为JunitDemo)中的所有测试方法,以在IDEA中的代码为例,选择测试类名并右击鼠标选择" Run ‘JunitDemo’ "即可; (5)此外,Junit单元测试常用注解如下:

注解作用@Test用于修饰需要执行的测试方法,一般用来对某些对象进行初始化, 或者加载驱动等操作@Before修饰的方法会在任意测试方法之前被自动执行,一般写的是正常的业务逻辑@After修饰的方法会在任意测试方法执行之后自动被执行,一般是用来释放或关闭资源的 3.案例演示Junit的使用

(1)案例要求:将fis.txt中的内容写入到fos.txt中; (2)具体代码如下:

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class JunitDemo{

    //FileInputStream:从文件系统中的某个文件中获得输入字节
    private FileInputStream fis;
    //FileOutputStream:将数据写入File或FileDescriptor的输出流
    private FileOutputStream fos;
    
    @Before
    public void init() throws FileNotFoundException {
        //对对象初始化
        if (fis == null) {
            fis = new FileInputStream("E:\\testData\\junit\\fis.txt");
        }
        if (fos == null) {
            fos = new FileOutputStream("E:\\testData\\junit\\fos.txt");
        }
    }
    
    @Test
    public void testShow2() throws IOException {
        int length=0;
        while ((length=fis.read())!=-1) {
            fos.write(len);
        }
    }
    
    @After
    public void testShow3() throws IOException {
        fis.close();
        fos.close();
    }
}
关注
打赏
1665627467
查看更多评论
立即登录/注册

微信扫码登录

0.0382s