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

搭建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 {@Testpublic void sumTest(){MyMath m = new MyMath();int sum=m.sum(2,4);//System.out.println(sum);//断言Assert.assertEquals(6,sum);//参数第一个是预期值,第二个是真实值}@Testpublic 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.hqwc.cn/news/615858.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年MathorCup数学建模A题移动通信网络中PCI规划问题解题文档与程序

2024年第十四届MathorCup高校数学建模挑战赛 A题 移动通信网络中PCI规划问题 原题再现: 物理小区识别码(PCI)规划是移动通信网络中下行链路层上,对各覆盖小区编号进行合理配置,以避免 PCI 冲突、PCI 混淆以及 PCI 模3 千扰等现象。PCI 规划…

基于ssm的大学生租房平台的设计与实现(java源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的大学生租房平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 大学生租房平台的设计与实现的主…

基于SpringBoot+Vue的毕业设计管理系统(源码+文档+部署+讲解)

一.系统概述 二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针…

轮腿机器人-五连杆正运动学解算

轮腿机器人-五连杆与VMC 1.五连杆正运动学分析2.参考文献 1.五连杆正运动学分析 如图所示为五连杆结构图,其中A,E为机器人腿部控制的两个电机,θ1,θ4可以通过电机的编码器测得。五连杆控制任务主要关注机构末端C点位置,其位置用直…

IP地址定位技术在各领域的作用

IP地址定位是通过确定IP地址的物理位置来定位一个设备的技术,它在现代社会的多个领域中都有着广泛的应用。以下将详细探讨IP地址定位的应用场景,以期对读者有所启发。 首先,在网络安全领域,IP地址定位发挥着至关重要的作用。网络…

LeetCode题练习与总结:最小路径和--64

一、题目描述 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid [[1,3,1],[1,5,1],[4,2,1]] 输出…

C语言学习笔记之结构体(一)

目录 什么是结构体? 结构体的声明 结构体变量的定义和初始化 结构体成员的访问 结构体传参 什么是结构体? 在现实生活中的很多事物无法用单一类型的变量就能描述清楚,如:描述一个学生,需要姓名,年龄&a…

全栈的自我修养 ———— 如何发布一个npm包?

创建本地仓库 npm init在此期间会让你添加一些版本信息和名称 登陆npm npm login ——> yinhaodada arx.040208发布 npm publish查询

项目管理-项目问题及需求解决要点

综上所述:在项目管理过程中,项目问题和需求逐渐增多,要不断的适应项目的种种,要想到如果没有问题要解决了,你的价值体现在哪里?要这样想,风险也是机会,所以问题等等也是自己的机会&a…

【C++ 学习】 priority_queue 优先队列的学习!!

1 queue****的介绍** 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端提取元素。 队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特…

k8s单节点部署,容器运行时使用containerd

环境 系统 : entOS Linux release 7.9.2009 (CoreIP:192.168.44.177 硬件要求:控制平面最少需要 2c2g 安装前环境准备 如果是集群部署还需要配置时间同步 关闭防火墙 systemctl disable firewalld关闭selinux setenforce 0sed -i s/SELI…

VLC-Qt实现简单的视频播放器

VLC-Qt是一个结合了Qt应用程序和libVLC的免费开源库。它提供了用于媒体播放的核心类,以及用于快速开发媒体播放器的GUI类。由于集成了整个libVLC,VLC-Qt具备了libVLC的所有特性, 例如:libVLC实例和播放器、单个文件和列表播放、音…