Junit 4 的使用

article/2025/10/2 14:09:44

一、什么是 Junit

我们来百度一波,什么是 Junit

可以看到哈,Junit 是一个 Java 语言的单元测试框架,这个东西是程序员自测所需要的一个东西,这个测试也被称为白盒测试。(下面会去说什么是白盒测试)

我们之前都是写一个 Main 函数进行操作、测试,这个很不方便,而且哈,一个类中,只能有一个 Main 函数,也就是说,我们要是测试很多的方法,就需要创建很多的 Main 函数,这样很不方便。

为了给我们开发剩下时间,我们引入一下 Junit。

二、Eclipse 引入 Junit

我们创建一个 Java Project 的项目。项目名称 junit_test。

然后我们选择到项目,鼠标右键,选择最下面的 Properties

然后找到 Java Build Path(默认就是打开这个页面)

接着,我们点击 Add Library,然后选择 JUnit

点击 Next。

选择 Junit 4,点击 Finish,Apply And Close 关闭掉 Properties,接着我们看我们的项目。

我们就把这个 JUnit 4 引入进来了。

三、IDEA 引入 Junit

自己创建一个 IDEA 的 Java 项目。

普通的项目就好,创建好之后,我们写一个类。

然后我们在这个 test 方法上加一个注解 @Test

可以看到哈,报错了。我们移动到上去

我们点击一下这个 Add ‘JUnit4’ to classpath

点击 OK 即可。

再看项目中就引入进来了。

四、如何使用 JUnit

JUnit 中有几个注解,我们只需要了解这几个注解,就可以了。

1. @Test

这个最核心的注解就是 @Test,我们只需要在我们要测试的方法上加上这个注解,那么这个方法就会被当做一个单元测试,单独去运行,我们来试一下。

我们来运行一下。鼠标移动到 say,然后鼠标右键。

找到这个 Run as,我们选择 Junit Test

可以看到哈,我们这个方法被执行了。而且是绿色的,这个表示成功。

我们现在来写一个异常的

来运行一下这个

可以看到哈,报错了。

2. @Before & @After

如果我们想再某个方法前和某个方法后执行某件事情,我们可以使用到这两个注解。

举例来说明:我们晚上下班回家后,需要做饭,我们需要先做饭,然后吃饭,最后洗锅。

我们现在来测试吃饭这个步骤。

吃饭前需要做饭,我们这个怎么实现呢,我们使用 @Before

有了这个 @Before 之后,我们运行 eatFood 的时候就会先调用 doFood 这个方法。先来运行测试一波。

可以看到哈,没有问题,然后我们把洗锅也加进来。

我们使用 @After 加在了 xiguo 这个方法上,在调用完 eatFood 方法后,就会执行这个 @After 方法,来测试一下。

3. @BeforeClass & @AfterClass

这两个和上面的方法类似,但是不同的是,它俩都是最前或者最后去执行。我们再来看上面的例子。

我们做饭之前还得需要买菜,那么我们需要再去弄个方法来取操作买菜的步骤,那么我们就可以使用 @BeforeClass

再来测试一下。

报错了,这里的这个报错是因为我们的方法写错了,我们需要让在 @BeforeClass & @AfterClass 注解下的方法都弄成静态方法。

可以看到哈,是正常的。

同理,我们也弄个方法,洗完锅我们出去走一走的方法。

可以看到哈,是没有问题的。

4. @Ignore

这个注解其实不常用,但是也要说一下,这个注解同样是作用在方法上,我们随便找个 @Test 的方法作用上去。

我们就加在这里,然后我们运行。

可以看到哈,只是显示运行成功了,但是并没有任何输出。这个就是忽视的作用。

我们到时候做一个很大的测试用例的时候,统一进行测试所有的代码的时候,这个注解就有用了。

五、黑盒、白盒测试

百度百科走一走

可以看到哈,百科给了很专业的回答。

通俗的来说,白盒测试是我们程序员自己进行测试自己的代码。而黑盒测试,主要是给专业的测试人员进行测试的。

 

Junit 的简单实用我们就说这么多,当然啦,一个 Junit 不仅仅有这些功能,详细大家可以去 Junit 的官网看看。

这一篇东西还是比较简单的,大家自己操作一下。

有问题可以联系我:QQ 2100363119,欢迎大家访问我的个人自愿网站:https://www.lemon1234.com

最近网站在改造中,欢迎各位提出意见。


http://chatgpt.dhexx.cn/article/6qxwxK7W.shtml

相关文章

JUnit4

1.JUnit4全面引入Annotation来执行我们编写的测试 2.JUnit4并不要求测试类继承TestCase父类 3.在一个测试类中,所有被Test注解所修饰的public,void方法都是test case,可以被JUnit所执行。 4.虽然JUnit4并不要求测试方法名以test开头,但我们最好还是按照 …

Junit 4详解

Java单元机测试框架 --- Junit4 1、什么是Junit4 JUnit4是一个易学易用的Java单元测试框架,一般我们在写完一段代码或一个方法的时候,都要测试一下这段代码和这个方法的逻辑是不是正确,输入一定的数据,返回的数据是不是我们想要的结果,即我们在写单个业务代码针对结果进行…

IOS UIBUtton

Type 第二个是Customer 常用 按钮的阴影效果只能左右 这是区别于标签的地方 阴影设置没有负值 按钮的代码使用 按钮点击方法 代码设置 传参

UIButton设置图片位置

设置小图片image的位置 image默认图片保持原大小可以通过设置contentVerticalAlignment和contentHorizontalAlignment,修改位置,甚至填充满按钮 // 修改图片位置 图2的效果[button setImage:image forState:UIControlStateNormal];button.contentVerti…

UIButton基础总结

1、UIButton简介 UIButton继承自UIControl。 2、UIButton的四种状态 UIButton的四种状态分别为Normal、Highlighted、Disabled和Selected。 **(1)Normal:**按钮的普通状态,即为按钮的初始状态 **(2)Highlig…

[Swift]代码触发UIButton的点击事件

使用极光的手机号码一键登录功能,要求点击按钮后先弹出协议同意,同意协议后自动改变底部协议状态再自动代码触发登录按钮的点击事件。 OC: [but sendActionsForControlEvents:UIControlEventTouchUpInside];Swift: but.sendActions(for: .touchUpInsid…

iOS UIButton控件

UIButton是UIControl的子类,实现了按钮功能,交互事件和控件状态可查看iOS UIControl控件。 1. 初始化 通过指定按钮类型来创建UIButton对象 (instancetype)buttonWithType:(UIButtonType)buttonType;UIButtonType是一个枚举类型 值说明UIButtonTypeCu…

UIButton基础

一、UIButton基础 与UILabel相同,UIButton对象也需要在ViewController中写一个创建函数来建立 UIButton对象的建立如下: //创建普通按钮函数 - (void) createUIRectButton {//创建一个btn对象,更具类型来创建btn//圆角类型btn:UIButtonType…

UIButton 基础

创建一个button 注意button只能通过类方法创建,不能使用alloc 该段代码添加在函数- (void)viewDidLoad 中 //通过类方法创建一个UIbuttonUIButton* btn [UIButton buttonWithType:UIButtonTypeRoundedRect] ;//设置按钮的位置btn.frame CGRectMake(100, 100, 100…

UIButton基础知识和自定义详解

UIButton是我们经常用的UI控件,继承UIControl。这里将对UIButton的基本使用方法和自定义UIButton进行详细介绍。 一、UIBUtton基本知识介绍 对于我们学习一个新的控件、无外乎两种方法。第一种是在xcode中的.m文件查看该控件的属性和相关方法,第二种直…

UI基本控件(二):UIButton

UIButton——按钮 作用:用户交互的主要控件,有六种类型,其中自定义类型使用最为普遍 属性: title属性:是按钮的文字 titleColor属性:是按钮的颜色 image属性:是按钮显示的图像 提示&#…

oracle 用impdp 导入dmp文件

百度整理如下 /*分为7步 */ /*第1步:创建临时表空间(注意:D:\Project\OracleTableSpace\FHADMIN\ 手动创建路径) */ create temporary tablespace C##FHADMIN_TEMP tempfile D:\Project\OracleTableSpace\FHADMIN\C##FHADMIN_TEMP.dbf size 50m a…

★Oracle imp/impdp 导入dmp文件到数据库

使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。 IMP只适用于EX…

Oracle:使用Impdp导入dmp文件的详细过程

完全转载自:https://www.cnblogs.com/afei1013/p/13123784.html 这一天为了导入这个Oracle的dmp文件,简直就是血泪史,因本人对Oracle并不是很会,随意踩了很多小白会踩的坑,因此特意记录一下过程,防备下次的…

Oracle expdp/impdp工具使用

Oracle数据泵 一、数据泵的作用: 1.实现逻辑备份和逻辑恢复 2.在数据库用户之间移动对象 3.在数据库之间移动对象 4.实现表空间转移 二 、数据泵的特点与传统导出导入的区别 1.EXP和IMP是客户段工具程序, EXPDP和IMPDP是服务端的工具程序 2.EXP和IMP效率…

impdp导入dmp文件

impdp命令在cmd下直接用,不必登录oracle。只能导入expdp导出的dmp文件。 expdp导出的时候,需要创建 DIRECTORY 导出什么表空间,导入也要什么表空间。 导出什么用户,导入也要什么用户。 如果没有要新建。 从杭州服务器expdp导出…

解决:impdp导入.dmp文件

首先创建一个新用户,保证和导出dmp文件时的用户名,密码以及对应的表空间名相同。 不多说,直接上图 (基本只用改下面备注中文部分,根据需求对应替换就行) 1.创建用户 create user 用户 identified by 口…

配置NAT实现外网主机访问内网服务器(Cisco)

假设你是某公司的网络管理员,公司只向ISP申请了一个公网IP,现公司的网站在内网,要求在互联网也可以访问公司网站。 192.168.1.2是Web服务器的IP地址(内网地址)。通过分析可知,需要将内网服务器IP转换成外网…

内网服务器设置代理访问外网

内网服务器设置代理访问外网 背景 首先需要两台云服务器,其中服务器A无公网IP,服务器B有公网IP。 AB公网IP/110.40.255.180内网IP172.17.64.11172.17.64.17 配置A代理 直接配置环境变量即可。 cd /etc/profile.d/ vim proxy.sh进入proxy.sh文件后&…

外网访问内网的FTP服务器

1. 背景简介 最近研究如何在内网搭架FTP服务器,同时要保证外网(公网)能访问的到。终成正果,但走了一些弯路,在此记下,以飨后人。 2. 基础知识 FTP 使用 2 个端口,一个数据端口和一个命令端口…