首页 > 其他分享 >Junit单元测试下载、配置、使用

Junit单元测试下载、配置、使用

时间:2023-11-13 23:46:48浏览次数:51  
标签:示例 单元测试 System public println Test Junit 下载 out

Junit单元测试下载、配置、使用

目录

什么是Junit单元测试?

为什么要使用Junit单元测试?

如何下载(junit.jar和hamcrest-core都要下载):

在IDEA中配置Junit(以下好的文件进行配置)

Junit4常用注解

Junit单元测试的使用

1,@Test注解示例:

2、用例的执行顺序

3,@Before示例:

4,@After:

5,@BeforeClass:

6,@AfterClass:

7,@Ignore:


什么是Junit单元测试

JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。所谓 xUnit,就是一套基于测试驱动开发的测试框架,它的机制:将程序 预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性。

单元测试是一个对单一实体(类或方法)的测试

为什么要使用Junit单元测试?

在刚刚接触到Junit的时候有一个这样的问题,进行测试的话可以使用main函数,那为什么要使用junit?

总结:有以下几点

  • Junit单元测试可单个多个运行,多个共享数据
  • 有很多注解,可以在之前...之后运行
  • 比main代码少一点
  • 断言测试预期结果

最重要的是规范以及方便,main写完测试完后 都是注释或者直接删掉,而Junit不需要

如何下载(junit.jar和hamcrest-core都要下载):

Junit官网下载地址

img

img

1,进入下载页面选择下载的文件

img

img

下载完后就是这两个文件:

img

在IDEA中配置Junit(以下好的文件进行配置)

在项目目录中新建一个新的Directory目录,取个名 lib

img

  • 将下载好的两个jar包复制到建好的 lib目录中

img

  • 选择lib目录然后点击右键选择“Add as Library......”

img

  • 这样就完成了

Junit4常用注解

@Test 将一个方法标记为测试方法
@Before 每一个测试方法调用前必执行的方法
@After 每一个测试方法调用后必执行的方法
@BeforeClass 所有测试方法调用前执行一次,在测试类没有实例化之前就已被加载,需用static修饰
@AfterClass 所有测试方法调用后执行一次,在测试类没有实例化之前就已被加载,需用static修饰
@Ignore 暂不执行该方法

1,JUnit4的单元测试用例执行顺序为:

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

2,每一个测试方法的调用顺序为:

​ @Before -> @Test -> @After;

Junit单元测试的使用

1,@Test注解示例:

import org.junit.Test;

public class Demo {
    @Test
    public void example1(){
        System.out.println("示例1");
    }

    @Test
    public void example2(){
        System.out.println("示例2");
    }

    @Test
    public void example3(){
        System.out.println("示例3");
    }

}

img

2、用例的执行顺序

​ 如下图所示,测试用例的执行并不会按照我们编写代码的顺序来执行

@Test
public void example3(){
    System.out.println("示例1");
}

@Test
public void example1(){
    System.out.println("示例2");
}

@Test
public void example2(){
    System.out.println("示例3");
}

img

3,@Before示例:

  • junit测试类中的任意一个测试方法执行 都会执行此方法
  • 该类型的方法可以被用来为测试方法初始化所需的资源。
import org.junit.Before;
import org.junit.Test;

public class Demo {
    @Before
    public void example4(){
        System.out.println("示例Before");
    }

    @Test
    public void example3(){
        System.out.println("示例1");
    }

    @Test
    public void example1(){
        System.out.println("示例2");
    }

    @Test
    public void example2(){
        System.out.println("示例3");
    }

}

img

4,@After:

  • junit测试类中的任意一个测试方法执行后 都会执行此方法,即使被@Test 或 @Before修饰的测试方法抛出异常

该类型的方法被用来关闭由@Before注解修饰的测试方法打开的资源。

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

public class Demo {
    @Before
    public void example4(){
        System.out.println("示例Before");
    }

    @After
    public void example5(){
        System.out.println("After");
        System.out.println();
    }

    @Test
    public void example1(){
        System.out.println("示例1");
    }

    @Test
    public void example2(){
        System.out.println("示例2");
    }

    @Test
    public void example3(){
        System.out.println("示例3");
    }

}

img

5,@BeforeClass:

  • 只被执行一次
  • 运行junit测试类时第一个被执行的方法

这样的方法被用作执行计算代价很大的任务,如打开数据库连接。被@BeforeClass 注解的方法应该是静态的(即 public static类型的)。

import org.junit.*;

public class Main {

    @BeforeClass
    public static void example1() {
        System.out.println("示例BeforeClass");
    }

    @Test
    public void example3() {
        System.out.println("示例3");
    }
}

img

6,@AfterClass:

  • 只被执行一次
  • 运行junit测试类是最后一个被执行的方法

该类型的方法被用作执行类似关闭数据库连接的任务。被@AfterClass 注解的方法应该是静态的(即 public static类型的)。

import org.junit.*;

public class Main {

    @BeforeClass
    public static void example1() {
        System.out.println("示例BeforeClass");
    }

    @AfterClass
    public static void example4() {
        System.out.println("示例AfterClass");
    }

    @Test
    public void example3() {
        System.out.println("示例3");
    }

    @Test
    public void example2() {
        System.out.println("示例3");
    }
}

img

7,@Ignore:

忽略测试(Ignore test)被用来禁止执行junit测试类的某些或者全部测试方法。

  • Junit 4 Ignore Test 应用到某些测试方法上
import org.junit.*;

public class Main {
    @Test
    public void example1() {
        System.out.println("示例1");
    }

    @Test
    public void example2() {
        System.out.println("示例2");
    }

    @Test
    public void example3() {
        System.out.println("示例3");
    }

    @Ignore
    @Test
    public void example4() {
        System.out.println("示例4");
    }

    @Test
    public void example5() {
        System.out.println("示例5");
    }
}

img

标签:示例,单元测试,System,public,println,Test,Junit,下载,out
From: https://www.cnblogs.com/yhm050305/p/17830609.html

相关文章

  • Xcode15 下载 iOS 17.0.1 Simulator 失败
    更新完Xcode15,启动后自动下载iOS17.0.1Simulator,总是下载失败,可以到苹果官网去网页下载,地址:https://developer.apple.com/download/all/ 下载完之后,终端安装:xcode-select-s/Applications/Xcode.appxcodebuild-runFirstLaunchxcrunsimctlruntimeadd"~/Downloads/i......
  • zlib 下载以及使用
    zlib是一个压缩库,兼容gzip格式,免费开源网址:http://www.winimage.com/zLibDll/下载:目前下载Windows64位版本动态库http://www.winimage.com/zLibDll/zlib123dllx64.zip使用:当前编译Libcurl7.61.0+OpenSSL1.1.1需要依赖zlib静态库注意:不需要添加zlib头文件......
  • java里junit 单元测试、注释(入门)
    什么是Junit单元测试?JUnit单元测试是指使用JUnit框架编写的针对代码中小的、独立的模块(通常是方法或者类)的测试。在JUnit中,您可以使用断言来验证代码的行为是否符合预期,以及使用注解来标记测试方法、测试套件等。执行单元测试可以帮助验证代码是否满足特定的业务需求和技术......
  • 如何下载全国水系、铁路、土地、交通设施和运输相关数据?
    ​    通过以下方法可以将全国水系、铁路、土地、交通设施和运输相关数据下载到本机。 方法/步骤下载GIS地图下载器http://www.geosaas.com/download/mapdownloader.exe,安装完成后桌面上出现”GIS地图下载器“图标。        2、双击桌面图标打开......
  • pip下载python软件包时报错 Could not find a version that satisfies the requiremen
    pip下载python软件包时报错,使用了国内源等各种方法,后来才知道是电脑中打开了抓包工具;打开抓包工具后一定要关闭抓包工具,这样下载软件包就下载下来了关闭抓包工具后,下载成功了......
  • JavaScript--tomcat的下载和使用
     tomcat的配置 项目打包经常打包成war包,war包放到webspps中可以自动解压 ......
  • 告别屏幕截图!教你如何高效下载instagram原图到手机!超清原分辨率!
    Ins的图片真的都好好看呀!每一张拿来收藏做壁纸做头像都是杠杠的!而且不瞒大家,我最近淘到了一个好宝贝,让我可以想存哪张就存哪张,丝毫不带犹豫的那种~该宝贝就是——【存了个图】app,不管是安卓还是苹果的小伙伴们,只需在手机自带的应用商店就能搜索下载哦! 打开IG找到喜爱的图片后点击......
  • jUnit测试框架入门详解​(加强版)
    jUnit测试框架入门详解入门知识什么是单元测试单元测试是针对最小的功能单元编写的测试代码。Java程序最小的功能单元是方法,因此单元测试就是针对单个Java方法的测试。为什么要使用单元测试使用main()方法测试的缺点:只能有一个main()方法,不能把测试代码分离,且也没有打印出测试结果......
  • Qt各版本官方下载地址
    20200706  Qt5.15开始,无论是开源版还是商业版都采用了在线安装的方式。不再提供离线包。如自己使用可下载一次之后将下载文件备份即可在线安装器下载地址:http://download.qt.io/official_releases/online_installers/记录下Qt各版本的下载地址,便于后期查找及下载1.所有Qt......
  • imx.6ull芯片uboot编译下载
    开发环境配置及编译参考:linux开发基于iMX6ULL-uboot编译环境配置 下载官方的SDK包 下载完成之后开始直接安装将SDK包解压到对应的文件目录 本地安装目录是imx6ullSK打开文件夹里边有官方给的各种配置文件模板,MFGTools下载链接 下载最新的日期的工具,等待下载完成 ......