PowerMockito单元测试总结

本文详细介绍了单元测试的概念,解释了为何需要使用MOCK工具,并重点探讨了PowerMock的强大功能,包括模拟静态、final和私有方法。通过具体的maven依赖、注解和用法示例,展示了如何在单元测试中运用PowerMockito来Mock Dao层、静态方法、BindingResult异常、文件流等,以实现全面的测试覆盖。
摘要由CSDN通过智能技术生成

1. 什么是单元测试?

  • 单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常是指函数或者类。
  • 单元测试都是以自动化的方式执行,所以在大量回归测试的场景下更能带来高收益。
  • 单元测试代码里提供函数的使用示例,因为单元测试的具体表现形式就是对函数以各种不同输入参数组合进行调用。

2. 为什么要使用MOCK?

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

3. 为什么要使用PowerMock?什么是PowerMock?

  • 比较流行的Mock工具如jMock 、EasyMock 、Mockito等都有一个共同的缺点:不能mock静态、final、私有方法等。而PowerMock能够完美的弥补以上三个Mock工具的不足。
  • PowerMock是一个扩展了其它如EasyMock等mock框架的、功能更加强大的框架。PowerMock使用一个自定义类加载器和字节码操作来模拟静态方法,构造函数,final类和方法,私有方法,去除静态初始化器等等。通过使用自定义的类加载器,简化采用的IDE或持续集成服务器不需要做任何改变。熟悉PowerMock支持的mock框架的开发人员会发现PowerMock很容易使用,因为对于静态方法和构造器来说,整个的期望API是一样的。PowerMock旨在用少量的方法和注解扩展现有的API来实现额外的功能。目前PowerMock支持EasyMock和Mockito。

4. 如何使用PowerMock?

4.1 maven依赖

	<dependency>   
        <groupId>org.powermock</groupId>   
        <artifactId>powermock-module-junit4</artifactId>   
        <version>1.6.5</version>   
        <scope>test</scope>   
     </dependency>   
     <dependency>   
        <groupId>org.powermock</groupId>   
        <artifactId>powermock-api-mockito</artifactId>   
        <version>1.6.5</version>   
        <scope>test</scope>   
     </dependency>   
     <dependency>
  	    <groupId>org.mockito</groupId>
  	    <artifactId>mockito-core</artifactId>
  	    
  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值