Java工程师必学测试用例,手把手教你使用Junit|Java框架精讲(三)「建议收藏」

Java工程师必学测试用例,手把手教你使用Junit|Java框架精讲(三)「建议收藏」序欢迎来到全网最完整的Java系列教程!!! 本教程将包含基础知识、进阶知识、常用框架等,循序渐进地分享Java中必须掌握的知识和技术。跟着老K

欢迎大家来到IT世界,在知识的湖畔探索吧!

欢迎来到全网最完整的Java系列教程!!! 本教程将包含基础知识、进阶知识、常用框架等,循序渐进地分享Java中必须掌握的知识和技术。跟着老K的教程每天学习一点,你会发现入门Java没有想象中那么难。

正如我在《编程的18条规则》 中提到的,“学会写测试用例”是萌新程序员到资深程序员必然会经过的一个步骤,那Java中的测试用例应该怎么写呢?

这里就要给大家引入一个业内非常常用的库——Junit:

Java工程师必学测试用例,手把手教你使用Junit|Java框架精讲(三)「建议收藏」

这是一个十分常用的Java单元测试框架,使用起来也十分方便,接下来我们就开始介绍一下!

(想了解编程的18条规则,可以在文末获取链接。)


一、配置

JUnit最新版本已经来到了JUnit5,但被最广泛使用的版本是JUnit4,所以我们接下来的内容还是以JUnit4为例。

如果需要了解JUnit5的小伙伴,可以通过点击这里的下方链接直达JUNIT5的官方文档:

传送门:https://junit.org/junit5/docs/current/user-guide/

首先,我们当然可以从官方下载地址 把Junit的Jar包下载下来,但这个方法并不高效,所以我们选择使用配置Maven的方式进行安装。

1.1 新建Maven项目

打开JetBrains的IDEA工具,配置好maven后,新建项目。

这里就不对IDEA和maven的配置使用进行介绍了,有需要的小伙伴直接点击链接获取信息:全网最完整的免费java教程讲义(一)——java配置和安装

Java项目工程管理神器,构建框架必用 | Java常用框架精讲(二)

新建项目后,出现如下界面,只需给项目起名(本例中名为KoderJUnit),将Build system设置为Maven即可。

Java工程师必学测试用例,手把手教你使用Junit|Java框架精讲(三)「建议收藏」

完成设置后,如果看到如下的项目结构,那项目新建工作就完成了。

Java工程师必学测试用例,手把手教你使用Junit|Java框架精讲(三)「建议收藏」

1.2 配置pom文档

打开项目中的pom.xml文件。对项目进行配置。

首先,因为一些众所周知的原因,国外还处于4G、甚至3G的网络环境,导致国内网友访问不畅,所以我们先给maven源配置一个国内的镜像,这里我们用到的是阿里云。

<repositories>
    <repository>
        <id>aliyun</id>
        <name>aliyun</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </repository>
</repositories>

欢迎大家来到IT世界,在知识的湖畔探索吧!

  • <id><name>是自定义命名的,只要自己认识就好,没有严格规范;
  • <url>需要是完整的maven镜像网址,国内除了阿里云,常用的还有华为云;

这样一来,能大大节省我们安装和下载的时间。

然后是配置JUnit依赖。通过阿里镜像的文件搜索接口(https://developer.aliyun.com/mvn/search) ,我们可以找到JUnit对应的依赖坐标系,我们根据需要对文档进行配置:

欢迎大家来到IT世界,在知识的湖畔探索吧!<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
</dependencies>
  • groupIdartifactIdversion三者被合称为“依赖坐标系“,可以在上述搜索接口查询得到。

这样一来,我们的配置工作就算完成了。


二、编写测试用例

我们先做一个具备四则运算功能的类Math,用来作为之后展示测试用例的基础。在./src/main/java下新建一个Math.java文件。

  • Math.java
public class Math {
    public int add(int a, int b) {
        return a + b;
    }

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

    public int multiply(int a, int b) {
        return a * b;
    }

    public int divide(int a, int b) {
        return a / b;
    }
}

新建测试用例的方法很简单,只要在代码上点击右键,然后依此选择菜单Generate->Test…,即可进入到测试用例生成页面如下:

Java工程师必学测试用例,手把手教你使用Junit|Java框架精讲(三)「建议收藏」

Member菜单中选择需要创建测试用例的方法,然后点击OK即可。

这时候,在./src/test/java下会自动生成一个测试文件,内部已经自动完成了基础的测试代码。但考虑到每个人的环境配置不尽相同,如果测试用例出现报错,建议先复制下述代码到测试文件中。

  • MathTest.java
欢迎大家来到IT世界,在知识的湖畔探索吧!import org.junit.Test;

public class MathTest {
    Math math = new Math();

    @Test
    public void add() {
        System.out.println(math.add(30, 10));
    }

    @Test
    public void subtract() {
        System.out.println(math.subtract(30, 10));
    }

    @Test
    public void multiply() {
        System.out.println(math.multiply(30, 10));
    }

    @Test
    public void divide() {
        System.out.println(math.divide(30, 10));
    }
}
  • import org.junit.Test;语句用来引入JUnit测试框架;
  • @Test是对测试用例的注释,表示该注释下的方法为测试用例;
  • JUnit4在判断测试用例时,需要有public修饰词;

当然,上述的测试代码可以根据你实际的业务逻辑进行调整。

这样一来,测试用例的编写就算完成了。


三、进行测试

开始测试!

我们先找到代码编辑器左侧的”运行“图标,如下图:

Java工程师必学测试用例,手把手教你使用Junit|Java框架精讲(三)「建议收藏」

  • 点击三角形的运行图标,就可以对该测试类下的所有测试用例进行测试了;
  • 点击方法名前的运行图标,则是对当前测试方法进行测试。

测试的结果会在Run运行界面下输出,如下:

Java工程师必学测试用例,手把手教你使用Junit|Java框架精讲(三)「建议收藏」

  • 界面左侧黄色标识框中显示的是测试用例名称和得到的结果,如果代码运行出现异常,则此处的”对勾“图标会变成”警告“标识,届时可以对出错代码进行检查;
  • 界面右侧红色表示框中显示的是测试的输出结果,本例中依此是3010相减、相除、相加、相乘的结果,与黄框中的顺序一一对应;
  • 点击具体的方法名,可以查看该测试用例方法下的输出结果;
  • 测试结果的”对勾“不一定是最好的结果,需要根据具体业务逻辑判断。比如:测试用例中的除数设为0时,警告就可能是正常的、我们希望看到的结果。

以上就是JUnit的基本使用方法,熟悉和熟练使用测试用例,可以帮助你:

  • 大大降低代码的维护难度;
  • 有效提高源代码的整洁程度;
  • 提高代码的易读、易用性。

立志在IT开发行业长期发展的同学,一定要学会使用JUnit编写测试用例。

本期的内容较多,建议可以收藏这篇文章,多读几遍慢慢消化。

如果你对老K分享的内容有任何疑问,欢迎随时在评论区留言或者私信我。

正在学习的小伙伴记得给老K一个赞哦,你的支持是我持续输出课程内容最大的动力!

Java工程师必学测试用例,手把手教你使用Junit|Java框架精讲(三)「建议收藏」

阅读推荐

IT大佬推荐!学习Java的最优路径 分享多个阶段的学习资源 建议收藏

程序员如何写出一手优雅的代码?18条规则你必须要知道

结束语

我是专注于开发领域的 @老K玩代码 ,会持续生产关于如何学习编程语言的优质内容。

如果你想学习Java编程,或者想精进你的Java编程能力,可以关注我。

如果你对开发、编程有任何疑问或者有想了解的内容,而我暂时没有写到的,也欢迎随时来找我聊聊。

#头条创作挑战赛#

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/17756.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信