Java---搭建junit4.x单元测试环境,并进行测试

news2024/11/22 22:34:16

搭建junit4.x单元测试环境

1.选择Project Structure
在这里插入图片描述
2.选择Modules,选择要加入测试环境的模块,选择Dependencies,可以看到当前模块都有哪些依赖。
在这里插入图片描述
3.点击 + 后选择第一个
在这里插入图片描述
4.找到你安装IDEA的文件夹,进入到IntelliJ IDEA 2018.3.4\lib目录下,找到junit-4.12.jar,点击OK。
在这里插入图片描述
注:Junit和hamcrest-core必须一起导入,否则会报错

5.导入hamcrest-core.jar,步骤同导入Junit一样
在这里插入图片描述
点击OK后,测试环境就搭建完成了。

测试步骤

1.把junit4.x的测试jar包,添加到该项目中来,也就是上述的搭建环境

2.定义一个测试类(约定俗成的规则,非强制要求),名字一般为:XXXTest

3.在测试类中编写测试方法,方法要是public修饰的,无返回值的,必须在方法前贴上@Test标签

4.选中一个测试方法名,右键直接选择运行即可进行测试

public class MyMathTest {
    @Test
    public void sumTest(){
        MyMath m = new MyMath();
        int sum=m.sum(2,4);
        //System.out.println(sum);
        //断言
        Assert.assertEquals(6,sum);//参数第一个是预期值,第二个是真实值
    }
    
	@Test
    public void subTest(){
        MyMath m = new MyMath();
        int sub=m.sub(7,4);
        System.out.println(sub);
    }
}

以下两种方式都可以运行测试方法
在这里插入图片描述
出现绿色的对勾说明测试成功
在这里插入图片描述

常见注解

1.@Test:要执行的测试方法

2.@Before 每次执行测试方法之前都会执行

3.@After 每次执行测试方法之后都会执行

4.@BeforeClass 在所有的Before方法之前执行,只在最初执行一次. 只能修饰静态方法

5.@AfterClass 在所有的After方法之后执行,只在最后执行一次. 只能修饰静态方法

规范的单元测试

选中你要测试的类,点击Alt+回车,选择Create Test,会自动创建一个标准的测试类
在这里插入图片描述

断言

单元测试应该是全自动执行的,并非交互式的,测试框架通常是定期执行的,执行过程必须完全自动化才有意义。输出结果需要人工检查的测试不是一个好的单元测试,单元测试中不准使用System.out来进行人肉验证,必须使用assert来验证。

什么是断言(猜测):
1.期望值(猜测值):断言时希望是多少

2.真实值(程序运行的结果):程序内部运算之后实际是多少

断言(猜测)结果:
1.断言成功(猜对了)

2.断言失败(猜错了)

断言方法:
Assert.assertEquals(message, expected, actual):用于比较的值
三个参数:
message: 断言失败的提示信息,断言成功不会显示.
expected: 期望值
actual: 真实值
若真实值和期望值想等,则断言成功.—>绿条

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1592069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

18.java openCV4.x 入门- Imgproc之色彩映射及颜色空间转换

专栏简介 💒个人主页 📰专栏目录 点击上方查看更多内容 📖心灵鸡汤📖我们唯一拥有的就是今天,唯一能把握的也是今天建议把本文当作笔记来看,据说专栏目录里面有相应视频🤫 🧭文…

kvm虚拟机磁盘镜像加密

一、qcow2的aes加密 低版本的qemu能够支持对qcow2文件进行aes加密的方式,例如对一个已经存在的磁盘文件test.qcow2,可以将其转换为经过加密的qcow2文件。 qemu-img convert -O qcow2 --object secret,idsec0,data123456 -o encryptionon,encrypt.key-s…

为数据穿上安全的外衣——零售电商场景下的数据安全体系建设

在电子商务交易过程中,会涉及大量的个人和财务数据的传输和处理,随着电子商务的发展,数据安全风险也成为一个备受关注的问题。 而跨境电商,属于出海业务,涉及到海外不同国家的政策法规,且数据作为电商的业…

linux安装texlive程序

tex 是文本格式渲染语言, 对数学公式特别友好,所以前沿的科研者基本都要掌握 tex 基本功。Latex 是一款优秀的tex渲染程序,可以直接输出PDF等格式文件。 texlive 是 Latex程序及其周边的一个非常优秀的程序管理包,随着社区的发展…

【InternLM 实战营第二期-笔记4】XTuner 微调个人小助手认知

书生浦语是上海人工智能实验室和商汤科技联合研发的一款大模型,很高兴能参与本次第二期训练营,我也将会通过笔记博客的方式记录学习的过程与遇到的问题,并为代码添加注释,希望可以帮助到你们。 记得点赞哟(๑ゝω╹๑) XTuner 微调个人小助手…

计算机网络之同轴电缆,集线器,网桥,交换机,路由器

ping的过程 两台主机用交叉线连接,通过88.2ping88.3发现底层是先经过广播,通过arp协议,告诉我要找的ip是88.3,然后88.3主机收到后就把自己的mac地址发送回去,同理88.2发现是发给自己的后就进行接收,有了mac地址然后再通…

56、巴利亚多利德大学、马德里卡洛斯三世研究所:EEG-Inception-多时间尺度与空间卷积巧妙交叉堆叠,终达SOTA!

本次讲解一下于2020年发表在IEEE TRANSACTIONS ON NEURAL SYSTEMS AND REHABILITATION ENGINEERING上的专门处理EEG信号的EEG-Inception模型,该模型与EEGNet、EEG-ITNet、EEGNex、EEGFBCNet等模型均是专门处理EEG的SOTA。 我看到有很多同学刚入门,不太会…

C#学习:初始类与名称空间

本节内容: 1.初始类(class)与名称空间(namespace) 这个定义过于复杂。 类(class)构成程序的主体。具体的解释很复杂,要资深开发人才能看的懂,我们先记住这句话。 什么…

视频评论ID提取工具|视频关键词评论批量采集软件

视频评论ID提取工具:批量抓取视频评论 视频评论ID提取工具是一款功能强大的软件,可以帮助您批量抓取视频视频下的评论信息。通过输入关键词和评论监控词,即可进行评论的抓取,并提供评论昵称、评论日期、评论内容、命中关键词以及所…

【Qt】:对话框(一)

对话框 一.基本的对话框二.自定义对话框三.通过图形化界面自定义对话框四.关于对话框mode 对话框是GUI程序中不可或缺的组成部分。一些不适合在主窗口实现的功能组件可以设置在对话框中。对话框通常是一个顶层窗口,出现在程序最上层,用于实现短期任务或者…

腾讯云人脸服务开通详解:快速部署,畅享智能体验

请注意,在使用人脸识别服务时,需要确保遵守相关的法律法规和政策规定,保护用户的合法权益,并依法收集、使用、存储用户信息。此外,腾讯云每个月会提供一定次数的人脸识别调用机会,对于一般的小系统登录来说…

[StartingPoint][Tier2]Included

LXD https://www.hackingarticles.in/lxd-privilege-escalation/ Task 1 What service is running on the target machine over UDP? (目标机器上通过UDP运行的服务是什么?) $ nmap -sU 10.129.232.86 -p 69 tftp Task 2 What class o…

C++:构造函数、析构函数、拷贝构造函数

hello,各位小伙伴,本篇文章跟大家一起学习《C:构造函数、析构函数、拷贝构造函数》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞…

Flutter中间镂空的二维码扫描控件

1、UI效果图&#xff1a; 2、中间镂空UI&#xff1a; class CenterTransparentMask extends CustomClipper<Path> {final double? width;CenterTransparentMask({this.width});overridePath getClip(Size size) {final path Path()..addRect(Rect.fromLTWH(0, 0, size…

K8s 部署 elasticsearch-7.14.0 集群 及 kibana 客户端

一、K8s 部署 elasticsearch-7.14.0 集群 安装规划 组件replicas类型es3StatefulSetkibana1Deployment 使用 k8s 版本为&#xff1a;v1.18.0 。 本次使用 OpenEBS 来作为存储引擎&#xff0c;OpenEBS 是一个开源的、可扩展的存储平台&#xff0c;它提供了一种简单的方式来创…

外贸公司应该怎么选择企业邮箱?哪个企业邮箱最好?

外贸公司业务的特殊性需要他们频繁进行跨国的沟通交流&#xff0c;那么外贸公司应该如何选择适合的企业邮箱呢&#xff1f;首先&#xff0c;传输邮件的稳定安全是前提&#xff0c;另外由于沟通多是国外客户&#xff0c;邮件的翻译也成为外贸公司企业邮箱的刚需。小编今天就详细…

linux——Bash特性

bash是一个命令解释器&#xff0c;其支持命令行展开&#xff5b;&#xff5d;写法 alias是命令别称&#xff0c;即为命令等同于&#xff0c;使用unalias对应命令可以取消该别称 alias可以对命令进行更改

Docker+Uwsgi+Nginx部署Django项目保姆式教程

之前&#xff0c;我和大家分享了在docker中使用uwsgi部署django项目的教程。这次&#xff0c;为大家带来的是使用DockerUwsgiNginx部署Django项目。废话不多说&#xff0c;我们开干。 步骤1&#xff1a;使用命令创建一个django项目 我这里python版本使用的是3.9.x 首先&#…

HarmonyOS实战开发-自定义分享

介绍 自定义分享主要是发送方将文本&#xff0c;链接&#xff0c;图片三种类型分享给三方应用,同时能够在三方应用中展示。本示例使用数据请求 实现网络资源的获取&#xff0c;使用屏幕截屏 实现屏幕的截取&#xff0c;使用文件管理 实现对文件&#xff0c;文件目录的管理&…