《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(10)

简介: 《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(10)

《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(9) https://developer.aliyun.com/article/1232410?groupCode=java


七、 调用被测方法

 

在准备好参数对象后,就可以调用被测试方法了。

 

如果把方法按访问权限分类,可以简单地分为有访问权限和无访问权限两种。但实际上,Java语言中提供了public、protected、private和缺失共4种权限修饰符,在不同的环境下又对应不同的访问权限。具体映射关系如下:

image.png

下面,将根据有访问权限和无访问权限两种情况,来介绍如何调用被测方法。

 

1. 调用构造方法

 

1) 调用有访问权限的构造方法

 

可以直接调用有访问权限的构造方法。

image.png

2) 调用无访问权限的构造方法

 

调用无访问权限的构造方法,可以使用PowerMock提供的Whitebox.invokeConstructor方法。

image.png

备注:该方法也可以调用有访问权限的构造方法,但是不建议使用。

 

2. 调用普通方法

 

1) 调用有访问权限的普通方法

 

可以直接调用有访问权限的普通方法。


image.png

2) 调用无权限访问的普通方法

 

调用无访问权限的普通方法,可以使用PowerMock提供的Whitebox.invokeMethod方法。

 

image.png

也可以使用PowerMock提供Whitebox.getMethod方法和PowerMockito.method方法,可以直接获取对应类方法对象。然后,通过Method的invoke方法,可以调用没有访问权限的方法。

image.png

备注:该方法也可以调用有访问权限的普通方法,但是不建议使用。


3.调用静态方法


1)调用有权限访问的静态方法

可以直接调用有访问权限的静态方法。


image.png


2) 调用无权限访问的静态方法

 

调用无权限访问的静态方法,可以使用PowerMock提供的Whitebox.invokeMethod方法。

 

image.png

备注:该方法也可以调用有访问权限的静态方法,但是不建议使用。




《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(11) https://developer.aliyun.com/article/1232408?groupCode=java

 

相关文章
|
5月前
|
安全 Java 开发者
告别NullPointerException:Java Optional实战指南
告别NullPointerException:Java Optional实战指南
324 119
|
5月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
408 18
|
5月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
282 4
|
6月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
220 11
|
5月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
378 5
|
6月前
|
人工智能 Java API
Java AI智能体实战:使用LangChain4j构建能使用工具的AI助手
随着AI技术的发展,AI智能体(Agent)能够通过使用工具来执行复杂任务,从而大幅扩展其能力边界。本文介绍如何在Java中使用LangChain4j框架构建一个能够使用外部工具的AI智能体。我们将通过一个具体示例——一个能获取天气信息和执行数学计算的AI助手,详细讲解如何定义工具、创建智能体并处理执行流程。本文包含完整的代码示例和架构说明,帮助Java开发者快速上手AI智能体的开发。
2417 8
|
6月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
5月前
|
存储 人工智能 算法
从零掌握贪心算法Java版:LeetCode 10题实战解析(上)
在算法世界里,有一种思想如同生活中的"见好就收"——每次做出当前看来最优的选择,寄希望于通过局部最优达成全局最优。这种思想就是贪心算法,它以其简洁高效的特点,成为解决最优问题的利器。今天我们就来系统学习贪心算法的核心思想,并通过10道LeetCode经典题目实战演练,带你掌握这种"步步为营"的解题思维。
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
JSON Dubbo 测试技术
单元测试问题之增加JCode5插件生成的测试代码的可信度如何解决
单元测试问题之增加JCode5插件生成的测试代码的可信度如何解决
241 2
单元测试问题之增加JCode5插件生成的测试代码的可信度如何解决

热门文章

最新文章