使用mockito来mock final、static、private以及构造方法

这篇具有很好参考价值的文章主要介绍了使用mockito来mock final、static、private以及构造方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

final 方法

mock final方法(2.1版本开始):对final视而不见,和mock 普通方法一样

stati 方法

mock static方法(3.4版本开始): 使用try-with-resource缩小作用范围

 try (MockedStatic mocked = mockStatic(Foo.class)) {
	 mocked.when(Foo::method).thenReturn("bar");
	 assertEquals("bar", Foo.method());
	 mocked.verify(Foo::method);
 }

构造方法

mock 构造方法(3.5版本开始):使用try-with-resource缩小作用范围

try (MockedConstruction mocked = mockConstruction(Foo.class)) {
	Foo foo = new Foo();
 	when(foo.method()).thenReturn("bar");
 	assertEquals("bar", foo.method());
 	verify(foo).method();
 }

私有方法

mockito 不支持mock私有方法,采用反射的方式
举例如下
被测方法:

private KubeLabelAction getKubeLabelAction(List<Long> roleIds, 		RoleTaskType roleOpType) {}

测试类:文章来源地址https://www.toymoban.com/news/detail-512196.html

// Using reflection to get the method
Method method = Employee.class.getDeclaredMethod("getEmployeename", String.class);
// Override the accessor
methods.setAccessible(true);
// Invoke the method and provide input object
 String returnValue = (String) method.invoke(employeeObj, name);
// Validate result
assertEquals(returnValue, "sohan");

到了这里,关于使用mockito来mock final、static、private以及构造方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 轻松理解Java中的public、private、static和final

    一、概念 1、public和private 两个都是访问权限修饰符,用于控制外界对类内部成员的访问。 public:表明对象成员是完全共有的,外界可以随意访问。用public修饰的数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用。 private:表明对象成员是完全私有的,不

    2024年02月16日
    浏览(42)
  • 使用Mockito模拟Static静态方法

    Mockito3.4.0版本之后增加了对Static方法的支持,在这里简单记录下Mockito.mockStatic方法的用法 这是待测试的方法,用到了TestUtil.getString这个静态方法,将使用Mockito改变他的返回值 测试方法使用到的静态方法 他返回字符串本身,我们将通过Mockito改变他的返回值 Junit测试代码,执

    2024年02月02日
    浏览(40)
  • Mock&Mockito使用手册

    mock  测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。这个虚拟的对象就是mock对象。mock对象就是真实对象在调试期间的代替品; Mock 对象 :模拟对象的概念就是我们想要创建一个可以替代实际对象的对象,

    2024年02月11日
    浏览(34)
  • Mockito框架下如何优雅的验证调用Mock对象方法的入参

    该文章已同步至个人微信公众号[不能止步],欢迎关注。 在单元测试场景中,一种典型的场景是为了测试某一个类(Component Under Test, 简称CUT)而需要mock其依赖的的类。示例如下: 为了验证CUT业务实现的正确性,通常需要验证传给调用Mock对象的方法的参数的正确性。如果采

    2024年02月09日
    浏览(52)
  • static 和构造方法

    具体对象的属性,称之为对象属性,成员属性,实例属性。 具体对象的方法,称之为对象方法,成员方法,实例方法。 静态:static 和具体对象无关,只和类相关的属性,称之为静态属性。 和具体对象无关,只和类相关的方法,称之为静态方法。 静态属性和静态方法,不用

    2024年02月01日
    浏览(26)
  • 面向对象(八)-- static 与 final 关键字 的使用

    目录 1.  static 1.1  static 的概述 1.2  static 修饰的特点 1.3  static 使用时的注意事项:

    2023年04月25日
    浏览(48)
  • spring boot 单元测试JUnit5使用Mockito模拟Mock数据调用

    spring boot 单元测试JUnit5使用Mockito模拟Mock数据调用 好大一批新用法,大家静下心来好好看看吧 1. spring boot 使用 Mockito.when().thenReturn()模拟返回值 Mockito 是一种 Java mock 框架,他主要就是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean、模拟方法的返回值、模拟抛出异常…

    2024年02月15日
    浏览(55)
  • 第08章_面向对象编程(高级)(static,单例设计模式,理解mian方法,代码块,final,抽象类与抽象方法,接口,内部类,枚举类,注解,包装类)

    回顾类中的实例变量(即非static的成员变量) 创建两个Circle对象: Circle类中的变量radius是一个实例变量(instance variable),它属于类的每一个对象,c1中的radius变化不会影响c2的radius,反之亦然。 如果想让一个成员变量被类的所有实例所共享,就用static修饰即可,称为类变量(

    2024年01月25日
    浏览(48)
  • 单元测试(mock) 错误org.mockito.Mockito.framework()Lorg/mockito/MockitoFramework;解析

      如果您觉得有用的话,记得给 博主点个赞,评论,收藏一键三连啊 ,写作不易啊^ _ ^。   而且听说 点赞的人每天的运气都不会太差 ,实在白嫖的话,那欢迎常来啊!!! 01 准备 01::01 安装maven dependency helper插件和maven helper插件 用来分析你的依赖 打开idea 选择 File - Settin

    2023年04月08日
    浏览(35)
  • 单元测试之- mock工具mockito

     常用的mock工具mockito 在编写单元测试时,需要mock依赖的对象,减少依赖对象对测试的影响,Mocktio是常用的mock工具之一,那么mockito提供了哪些功能呢? Mock对象的创建和配置:Mockito可以通过简单的语法创建mock对象,并允许你配置mock对象的行为。 Mock对象的验证:Mockito提供

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包