我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Assert.assertEquals()方法参数详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Assert.assertEquals()方法参数详解

junit.framework包下的Assert提供了多个断言方法. 主用于比较测试传递进去的两个参数.

Assert.assertEquals();及其重载方法:

  • 1. 如果两者一致, 程序继续往下运行.
  • 2. 如果两者不一致, 中断测试方法, 抛出异常信息 AssertionFailedError .

 以Assert.assertEquals(int expected, int actual)为例:



static public void assertEquals(int expected, int actual) {
    assertEquals(null, expected, actual);
}

可以看到里面调用了assertEquals(String message, int expected, int actual)方法:



static public void assertEquals(String message, int expected, int actual) {
    assertEquals(message, Integer.valueOf(expected), Integer.valueOf(actual));
}

可以看到, 这里把int类型封箱成为Integer类型. 注释说, 会抛异常, 但这里没有. 没关系, 我们接着看里面调用: assertEquals(String message, Object expected, Object actual)方法:



static public void assertEquals(String message, Object expected, Object actual) {
    if (expected == null && actual == null) {
        return;
    }
    if (expected != null && expected.equals(actual)) {
        return;
    }
    failNotEquals(message, expected, actual);
}

两个if语句, 判断了两者相等的情况: 引用(地址)相等或者内容相等. 如果这两种if情况都不命中, 那么表明1参和2参实际是不相等, 所以代码会往下执行failNotEquals(String message, Object expected, Object actual)方法,并在此方法中抛出异常, 接下来就比较简单了:


static public void failNotEquals(String message, Object expected, Object actual) {
    fail(format(message, expected, actual));
}

public static String format(String message, Object expected, Object actual) {
    String formatted = "";
    if (message != null && message.length() > 0) {
        formatted = message + " ";
    }
    return formatted + "expected:<" + expected + "> but was:<" + actual + ">";
}

static public void fail(String message) {
	if (message == null) {
	    throw new AssertionFailedError();
	}
	throw new AssertionFailedError(message);
}

以上可以看出, 最终是由fail(String message)这个方法抛出异常信息!!

Assert.assertEquals()使用方法:

使用, 示例代码:


Assert.assertEquals(true, arry.contains("hello"));
Assert.assertEquals(39991L, aa.getLong("key3", 0L));
Assert.assertEquals(true, bb.getBoolean("key4", false));
Assert.assertEquals(5.3f, cc.getFloat("key5", 0.f));
Assert.assertEquals(99, dd.getInt("key6", 1));
Assert.assertEquals("如果打印本信息, 证明参数不相等", 10L, 10);

按照源码分析, 我们可以把一个预期结果作为1参传递进去. 2参传递我们需要测试的方法. 然后执行. 相等, 代码继续往下执行, 不相等, 中断执行, 抛出异常信息!!!

略作一提:

Assert.assertSame(Object expected, Object actual)方法:

其比较的是引用地址是否相等, 并没有对内容进行比较:



static public void assertSame(Object expected, Object actual) {
    assertSame(null, expected, actual);
}

static public void assertSame(String message, Object expected, Object actual) {
    if (expected == actual) {
        return;
    }
    failNotSame(message, expected, actual);
}

到此这篇关于Assert.assertEquals()方法参数详解的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Assert.assertEquals()方法参数详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Assert.assertEquals()方法参数的示例分析

这篇文章主要介绍了Assert.assertEquals()方法参数的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。junit.framework包下的Assert提
2023-06-22

Window.open()方法参数详解

window.open()方法是JavaScript中的一个方法,用于打开一个新的浏览器窗口或者标签页。它接受多个参数来控制打开的窗口的属性。下面是window.open()方法的参数详解:1. URL:要在新窗口中打开的URL。可以是一个
2023-09-01

canvas的drawImage方法参数详解

canvas的drawImage方法是用来在画布上绘制图像的方法,它有三个不同的参数组合。1. drawImage(image, x, y)这个参数组合是最基本的,用来在画布上绘制完整的图像。其中,- image:要绘制的图像,可以是一个图
2023-09-09

Python解析参数的三种方法详解

本篇文章给大家带来了关于Python的相关知识,其中主要整理了解析参数的三种方法相关问题,第一个选项是使用 argparse,它是一个流行的 Python 模块,专门用于命令行解析;另一种方法是读取 JSON 文件,我们可以在其中放置所有超参数;第三种也是鲜为人知的方法是使用 YAML 文件,下面一起来看一下,希望对大家有帮助。【相关推荐:Python3视频教程 】今天我们分享的主要目的就是通过在
2022-08-08

SpringBootcontroller参数校验方法详细讲解

这篇文章主要介绍了SpringBoot在Controller层接收参数的常用方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-01-17

PHP无法接收参数的解决方法详解

PHP是一种非常流行的服务器端脚本语言,被广泛用于开发动态网站和Web应用程序。然而,有时候在使用PHP接收参数时会遇到一些问题,比如无法接收到期望的参数。本文将详细介绍PHP无法接收参数的解决方法,并提供具体的代码示例。问题描述在实际
PHP无法接收参数的解决方法详解
2024-03-09

Vue3获取地址栏参数方法详解

Vue3获取地址栏参数有两个方式:查询参数和路径参数。Vue3获取地址栏参数是从路由router中获取,查询参数和路径参数获取方式不一样。感兴趣的同学可以参考阅读
2023-05-17

vue中get方法\post方法如何传递数组参数详解

uView是uni-app生态专用的UI框架,uni-app是一个使用Vue.js开发所有前端应用的框架,下面这篇文章主要给大家介绍了关于vue中get方法\post方法如何传递数组参数,需要的朋友可以参考下
2023-03-23

setsockopt()用法及参数详解

setsockopt()函数用于设置套接字选项。它的原型如下:```cint setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optl
2023-09-12

PHP方法参数传递及返回值详解

PHP方法参数传递及返回值详解在PHP中,方法参数传递和返回值是非常重要的概念,它们在程序开发中起着至关重要的作用。本文将详细讨论PHP中方法参数传递和返回值的具体用法,并附上相应的代码示例,以帮助读者更好地理解。方法参数传递在PHP
PHP方法参数传递及返回值详解
2024-02-29

shell 使用数组作为函数参数的方法(详解)

因工作需要,需要使用shell开发一些小工具,当使用数组作为函数参数时,发现只能传递数组的第一个元素,数组后面的元素不能传递到函数内。#!/bin/bashfunction showArr(){arr=$1for i in ${arr[*]
2022-06-04

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录