PowerMock使用-依赖准备

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

前言

PowerMock是一个单元测试框架,可以模拟静态方法,私有方法和final方法等来简化单元测试的编写。本篇文章将对使用PowerMock需要的依赖进行介绍。

正文

一. 注解添加与使用场景

在使用PowerMock时需要针对不同场景添加对应注解,主要是@RunWith@PrepareForTest注解。注解添加和场景对应如下所示。

场景 注解
模拟final方法 @PrepareForTest@RunWith
模拟静态方法 @PrepareForTest@RunWith
模拟私有方法 @PrepareForTest
使用whenNew @PrepareForTest@RunWith

@PrepareForTest注解用于告诉PowerMock需要准备某些类进行测试,这些类包括final类,带有finalprivatestaticnative方法的类,上述类需要PowerMock基于字节码进行操作。可以按照@PrepareForTest(TestObj.class)的方式来告诉PowerMock准备TestObj类进行测试。

@RunWith注解用于告诉JUnit使用哪个运行类来运行@RunWith注解修饰的类中的测试程序,例如@RunWith(PowerMockRunner.class),则告诉JUnit使用PowerMockRunner来运行@RunWith注解修饰的类中的测试程序。

二. 使用PowerMock需要添加的依赖

需要引入的依赖如下所示。

<dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>2.23.0</version>
        <scope>test</scope>
</dependency>
<dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito2</artifactId>
        <version>2.0.2</version>
        <scope>test</scope>
</dependency>
<dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>2.0.2</version>
        <scope>test</scope>
</dependency>

引入mockito-core是为了提供Mockito功能,主要使用到org.mockito.ArgumentMatchers参数占位符,部分情况需要使用到org.mockito.BDDMockito。引入powermock-api-mockito2powermock-module-junit4是为了提供PowerMock功能,其中powermock-module-junit4中还引入了hamcrest-core,主要是使用其提供的org.hamcrest.MatcherAssert.assertThatorg.hamcrest.Matchers.is进行断言判断。

在引入依赖时,需要注意核对MockitoPowerMock的版本对应关系,否则会报java.lang.ClassNotFoundException: org.mockito.exceptions.Reporter错误。版本对应关系可以去PowerMock官网进行查询:PowerMock官网,通常情况下,如果引入的mockito-core版本为2.x,则PowerMockapi需要使用powermock-api-mockito2文章来源地址https://www.toymoban.com/news/detail-479393.html

到了这里,关于PowerMock使用-依赖准备的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • PowerMock使用-Mock静态私有方法

    本篇文章将说明如何使用 PowerMock 对静态私有方法进行 Mock 。关于使用 PowerMock 需要引入哪些依赖,请参考PowerMock使用-依赖准备。 被测试类如下所示。 被测试类中有一个静态公共方法 isTrue() ,在 isTrue() 方法中会调用 MockStaticPrivateMethod 的静态私有方法 returnTrue() 。测试程序如

    2024年02月14日
    浏览(30)
  • Springboot 如何使用Powermock做单元测试

    一、为什么要使用Mock工具 在做单元测试的时候,我们会发现我们要测试的方法会引用很多外部依赖的对象,比如:(发送邮件,网络通讯,远程服务, 文件系统等等)。 而我们没法控制这些外部依赖的对象,为了解决这个问题,我们就需要用到Mock工具来模拟这些外部依赖的

    2024年02月14日
    浏览(42)
  • 从零开始画自己的DAG作业依赖图(一)--前期准备

    背景: 由于业务场景需要展示作业之间的依赖关系,由于一些开源的插件和当前的业务逻辑有一些冲突,个人打算尝试从零开始,一点点实现自己的DAG图。同时用博客记录自己实现过程和总结,不正确的地方,欢迎指正提升。 场景分析: 数据开发中常常有作业之间的依赖,

    2024年02月05日
    浏览(52)
  • 快速入门使用spring详细步骤(介绍、导入依赖、第一个简单程序)

    目录 一、spring介绍 二、spring使用步骤 (一)创建maven项目  (二) maven项目导入spring依赖 (三)开始编写第一个spring程序 三、新篇章之springboot(额外篇) spring是作为Java EE企业级开发很好的一个框架,这篇文章就来讲解一下怎么使用spring。要使用spring,现在一般都是 使用

    2024年02月04日
    浏览(51)
  • flutter使用shared_preferences依赖库实现简单的本地数据存储,封装成一个简单的单例类,方便前端同学使用

    shared_preferences 仓库地址:shared_preferences | Flutter Package shared_preferences这个依赖库还是非常好用的,全平台支持,就像前端经常使用的localstorage一样方便,所以就想着封装成一个简单的类,方便前端同学使用。封装好的代码支持json或者数组等这种类型的存储和获取。 在utils里面

    2024年01月20日
    浏览(51)
  • [CM311-1A]-买了一个机顶盒准备刷成 Linux 盒子!

    ################################################## 目录 移动魔百盒 CM311-1A CM311-1A 配置 烧录系统盘将机顶盒刷成 Armbian 服务器教程发布啦! 为什么非要买个盒子? 拆后介绍 使用介绍 启动盒子 机顶盒怎么截屏 键盘鼠标操作 系统应用 系统设置 网络设置 空间管理 分辨率 图像缩放 关于

    2024年02月04日
    浏览(245)
  • 使用 GPT4 和 ChatGPT 开发应用:前言到第三章

    原文:Developing Apps with GPT-4 and ChatGPT 译者:飞龙 协议:CC BY-NC-SA 4.0 在发布仅仅五天后,ChatGPT 就吸引了惊人的一百万用户,这在科技行业及其他领域引起了轰动。作为一个副作用,OpenAI API 用于人工智能文本生成的接口突然曝光,尽管它已经可用了三年。ChatGPT 界面展示了这

    2024年01月20日
    浏览(73)
  • 十行代码编写一个Python小游戏,你准备好了吗?(文末赠书)

    准备好了吗?我们即将开始激动人心的游戏编程之旅。 或许你之前学习过一点编程,但若是你从没接触过游戏编程,那么你仍然会对游戏程序的运行感到不解。游戏程序不像计算一个公式或谜题,得到答案之后程序就结束了,游戏程序一直是处于运行中的,只要你不主动退出

    2024年03月20日
    浏览(52)
  • 用python写一个有AI的斗地主游戏(一)——开始前的准备

    源码请看我的Github页面。 这是我一个课程的学术项目,请不要抄袭,引用时请注明出处。 本专栏系列旨在帮助小白从零开始开发一个项目,同时分享自己写代码时的感想。 请大佬们为我的拙见留情,有不规范之处烦请多多包涵! 不知道有多少喜欢计算机相关学科的人,一开

    2024年02月07日
    浏览(37)
  • JAVA PowerMock 单元测试

    单元测试针对程序模块来进行正确性检验的测试工作 单元测试 集成测试 编写人员 开发 开发 编写场地 生产代码仓库内 生产代码仓库内 编写时间 代码发布前 代码发布前 覆盖面积 代码行覆盖60-80% 分支覆盖40-60% 功能级别覆盖 环境依赖 代码级别,不依赖环境 依赖日常或本地

    2024年02月03日
    浏览(33)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包