如何单元测试Java的private方法,保准看明白

private String callPrivateMethod() {

return “Private method is called.”;

}

}

我们可以用Java的反射特性来突破private的限制,从而对private方法进行单元测试:

单元测试代码:

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import org.junit.Assert;

import org.junit.Test;

public class AppTest {

@Test

public void test() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {

App app = new App();

Method privateMethod = app.getClass().getDeclaredMethod(“callPrivateMethod”);

privateMethod.setAccessible(true);

Assert.assertEquals(“Private method is called.”, privateMethod.invoke(app));

}

}

引入第三方工具,如Spring测试框架。

引入依赖:

org.springframework

spring-test

5.3.5

test

单元测试代码:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数软件测试工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上软件测试开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

MVxLu-1712760812529)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于私有方法单元测试,通常有以下几种方式: 1. 使用反射:通过反射机制,可以访问和调用私有方法。在单元测试中,可以使用反射来获取私有方法的引用,并进行测试。这种方法相对较为灵活,但也可能会破坏封装性。 2. 修改访问权限:将私有方法的访问权限修改为public或protected,以便在单元测试中直接调用。这种方法需要谨慎使用,因为可能会导致安全性和封装性问题。 3. 测试公共接口:私有方法通常是由公共接口调用的,因此可以通过测试公共接口来间接测试私有方法。这样可以确保私有方法在被公共接口调用时能够正常工作。 4. 使用内部类或包级私有方法:在同一个类内部或同一个包内创建一个内部类或包级私有方法,以便可以在单元测试中访问和调用私有方法。 无论选择哪种方式,都应该注意以下几点: - 单元测试应该关注方法的行为和输出,而不是具体的实现细节。私有方法通常是用来支持公共接口的,所以测试重点应该放在公共接口上。 - 单元测试应该覆盖私有方法的各种情况和边界条件,以确保私有方法的正确性和健壮性。 - 私有方法的命名通常以"_"或"__"开头,以示其为私有方法,但这只是一种约定,并不是Java语言本身的限制。 总之,选择适合的方式来测试私有方法,并确保测试覆盖率足够高,可以帮助提高代码质量和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值