IE盒子

搜索
查看: 121|回复: 0

还有Java工程师不会写测试用例?手把手教会你使用Junit ...

[复制链接]

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2023-2-7 16:14:06 | 显示全部楼层 |阅读模式


欢迎来到全网最完整的Java系列教程!!!

本教程将包含基础知识、进阶知识、常用框架等,循序渐进地分享Java中必须掌握的知识和技术。跟着老K的教程每天学习一点,你会发现入门Java没有想象中那么难。
正如我在《编程的18条规则》[1]中提到的,“学会写测试用例”是萌新程序员到资深程序员必然会经过的一个步骤,那Java中的测试用例应该怎么写呢?
这里就要给大家引入一个业内非常常用的库——Junit:



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

JUnit最新版本已经来到了JUnit5,但被最广泛使用的版本是JUnit4,所以我们接下来的内容还是以JUnit4为例。
如果需要了解JUnit5的小伙伴,可以通过点击这里的【传送门】直达JUNIT5的官方文档。
首先,我们当然可以从官方下载地址[2] 把Junit的Jar包下载下来,但这个方法并不高效,所以我们选择使用配置Maven的方式进行安装。
1.1 新建Maven项目

打开JetBrains的IDEA工具,配置好maven后,新建项目。
这里就不对IDEA和maven的配置使用进行介绍了,有需要的小伙伴直接到文末找到之前的文章链接进行学习[3] [4]
新建项目后,出现如下界面,只需给项目起名(本例中名为KoderJUnit),将Build system设置为Maven即可。



新建项目

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


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>

  • <id>和<name>是自定义命名的,只要自己认识就好,没有严格规范;
  • <url>需要是完整的maven镜像网址,国内除了阿里云,常用的还有华为云;
这样一来,能大大节省我们安装和下载的时间。
然后是配置JUnit依赖。通过阿里镜像的文件搜索接口(https://developer.aliyun.com/mvn/search) ,我们可以找到JUnit对应的依赖坐标系,我们根据需要对文档进行配置:
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
</dependencies>

  • groupId、artifactId和version三者被合称为“依赖坐标系“,可以在上述搜索接口查询得到。
这样一来,我们的配置工作就算完成了。
<hr/>二、编写测试用例

我们先做一个具备四则运算功能的类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...,即可进入到测试用例生成页面如下:



测试配置

在Member菜单中选择需要创建测试用例的方法,然后点击OK即可。
这时候,在./src/test/java下会自动生成一个测试文件,内部已经自动完成了基础的测试代码。但考虑到每个人的环境配置不尽相同,如果测试用例出现报错,建议先复制下述代码到测试文件中。

  • MathTest.java
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修饰词;
当然,上述的测试代码可以根据你实际的业务逻辑进行调整。
这样一来,测试用例的编写就算完成了。
<hr/>三、进行测试

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



执行测试


  • 点击三角形的运行图标,就可以对该测试类下的所有测试用例进行测试了;
  • 点击方法名前的运行图标,则是对当前测试方法进行测试。
测试的结果会在Run运行界面下输出,如下:



执行测试


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

  • 大大降低代码的维护难度;
  • 有效提高源代码的整洁程度;
  • 提高代码的易读、易用性。
立志在IT开发行业长期发展的同学,一定要学会使用JUnit编写测试用例。
本期的内容较多,建议可以收藏这篇文章,多读几遍慢慢消化。
如果你对老K分享的内容有任何疑问,欢迎随时在评论区留言或者私信我。
正在学习的小伙伴记得给老K一个赞哦,你的支持是我持续输出课程内容最大的动力!


阅读推荐

我也分享过其他关于如何学习Java的文章,有需要的小伙伴可以点击下方链接获取:
结束语

我是专注于开发领域的 @老K玩代码 ,会持续生产关于如何学习编程语言的优质内容。
如果你想学习Java编程,或者想精进你的Java编程能力,可以关注我。
如果你对开发、编程有任何疑问或者有想了解的内容,而我暂时没有写到的,也欢迎随时来找我聊聊。
参考


  • ^编程的18条规则 https://zhuanlan.zhihu.com/p/527890990
  • ^JUnit4官方下载地址 https://github.com/junit-team/junit4/wiki/Download-and-Install
  • ^IDEA的基本使用方法 https://zhuanlan.zhihu.com/p/567221110
  • ^Maven的配置使用方法 https://zhuanlan.zhihu.com/p/586869921
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表