《Java单元测试实战》——无效单测:那些年,我们写过的无效单元测试(6)

简介: 《Java单元测试实战》——无效单测:那些年,我们写过的无效单元测试(6)

《Java单元测试实战》——无效单测:那些年,我们写过的无效单元测试(5) https://developer.aliyun.com/article/1232111?groupCode=java


四、 验证数据对象


在单元测试中,验证数据对象是为了验证是否传入了期望的参数值、返回了期望的返回值、设置了期望的属性值。

 

1. 数据对象来源方式

 

在单元测试中,需要验证的数据对象主要有以下几种来源。

 

1) 来源于被测方法的返回值

 

数据对象来源于调用被测方法的返回值,例如:

image.png

2) 来源于依赖方法的参数捕获

 

数据对象来源于验证依赖方法的参数捕获,例如:

image.png

3) 来源于被测对象的属性值

 

数据对象来源于获取被测对象的属性值,例如:

image.png

4) 来源于请求参数的属性值

 

数据对象来源于获取请求参数的属性值,例如:

image.png

当然,数据对象还有其它来源方式,这里就不再一一举例了。

 

2. 数据对象验证方式

 

在调用被测方法时,需要对返回值和异常进行验证;在验证方法调用时,也需要对捕获的参数值进行验证。

 

1) 验证数据对象空值


JUnit提供Assert.assertNull和Assert.assertNotNull方法来验证数据对象空值。

image.png

 

2) 验证数据对象布尔值

 

JUnit提供Assert.assertTrue和Assert.assertFalse方法来验证数据对象布尔值的真假。

image.png

3) 验证数据对象引用

 

JUnit提供Assert.assertSame和Assert.assertNotSame方法来验证数据对象引用是否一致。

image.png

4) 验证数据对象取值

 

JUnit提供Assert.assertEquals、Assert.assertNotEquals、Assert.assertArrayEquals方法组,可以用来验证数据对象值是否相等。


image.png

当然,数据对象还有其它验证方法,这里就不再一一举例了。



《Java单元测试实战》——无效单测:那些年,我们写过的无效单元测试(7) https://developer.aliyun.com/article/1232108?groupCode=java

相关文章
|
2天前
|
机器人 Java 测试技术
《手把手教你》系列技巧篇(六十)-java+ selenium自动化测试 - 截图三剑客 -中篇(详细教程)
【6月更文挑战第1天】本文介绍了使用Java和Selenium进行自动化测试时的另一种截图方法,即利用Robot类实现全屏截图。Robot类能够捕获屏幕上的所有内容,包括任务栏和浏览器元素。测试场景包括访问指定网站、调用截图方法和保存截图。示例代码展示了如何使用Robot创建全屏截图并保存到特定文件夹。在运行代码前,需确保指定的保存路径存在,否则会报错。
16 4
|
2天前
|
搜索推荐 算法 Java
JAVA中的排序算法详解与实战
JAVA中的排序算法详解与实战
6 1
|
2天前
|
存储 Java 数据处理
Java中的循环结构语句详解与实战应用
Java中的循环结构语句详解与实战应用
7 2
|
2天前
|
Java 数据安全/隐私保护
Java中的选择结构语句详解与实战应用
Java中的选择结构语句详解与实战应用
9 2
|
2天前
|
Java
JAVA运算符详解与实战应用
JAVA运算符详解与实战应用
9 3
|
3天前
|
IDE Java 测试技术
Java中JUnit等测试框架的使用
Java中JUnit等测试框架的使用
|
4天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(五十九)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教程)
【5月更文挑战第23天】本文介绍了使用Java和Selenium进行自动化测试时如何实现截图操作。原本计划讲解远程测试内容,但因服务器网络问题无法进行,因此转而分享Selenium的截图方法。文章分为三部分,首先简述背景,然后重点介绍了TakeScreenshout类,这是一个用于获取浏览器窗口内容的截图工具,不包含浏览器菜单和任务栏。接着,列举了一个测试场景:访问百度首页并截图保存。最后,提供了代码示例,展示了如何设计自动化测试代码以及截图保存到指定目录,并附有代码运行效果展示。
18 2
|
5天前
|
分布式计算 Java 测试技术
Spark 单元测试报Error:(26, 16) java: 程序包sun.misc不存在
Spark 单元测试报Error:(26, 16) java: 程序包sun.misc不存在
14 0
|
5天前
|
Java
Java中的多线程编程:从基础到实战
【5月更文挑战第29天】本文将深入探讨Java中的多线程编程,从基础概念到实际应用,为读者提供全面的指导。我们将首先介绍线程的基本概念和创建方法,然后讨论线程的生命周期、同步和通信机制。最后,我们将通过一个实际案例,展示如何在Java中实现多线程编程,以提高程序的性能和响应速度。
|
5天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(五十八)-java+ selenium自动化测试-分页测试(详细教程)
【5月更文挑战第22天】本文介绍了自动化测试分页的实现方法。首先,文章提出了测试分页时关注的三个关键点:总页数、当前页数和页码导航的可用性。接着,作者分享了一个实用网站([https://www.jq22.com/](https://www.jq22.com/))以找到示例进行实践。在代码部分,展示了使用Java和Selenium进行自动化测试的示例代码,包括获取总页数、遍历所有页面及判断当前页面等操作。最后,简要总结了分页自动化测试的实现过程。
18 1