PowerMock+Junit4 Maven配置

摘要:
在单元测试中,我们通常希望独立地测试类中的方法,但这个类不是独立的。它将调用其他类的一些方法和服务,因此JMockit、PowerMock和Mockito应运而生。经过多次搜索,在stackoverflow找到了答案。junit+PowerMock的相关配置如下:˂!

       在单元测试中,我们往往想去独立地去测一个类中的某个方法,但是这个类可不是独立的,它会去调用一些其它类的方法和service,于是JMockit、PowerMock 和 Mockito就诞生了。最近在学习PowerMock时发现网上对于他的Maven配置说明不是很详细,导致在使用时会报错,显示ClassNotFoundException和NoClassDefFoundError等错误。多番查找后,在stackoverflow找到了答案,junit+PowerMock相关配置如下:

<!--变量信息 -->

<properties>
    <java.version>1.8</java.version>
    <powermock-version>2.0.2</powermock-version>
<mockito-version>2.23.4</mockito-version> </properties> <!--引用信息 --> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId>
<mockito-version>${mockito-version}</mockito-version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito2</artifactId>
        <version>${powermock-version}</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>${powermock-version}</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-core</artifactId>
        <version>${powermock-version}</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4-rule</artifactId>
        <version>${powermock-version}</version>
        <scope>test</scope>
    </dependency> 

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>

 

       在springboot2.1.3环境中运行正常,可以根据具体情况更改配置,但要注意版本过低的PowerMock可能需要依赖外部库

       4.15更新 新增了mockito配置,现在可以在非springboot环境下运行


参考地址:https://stackoverflow.com/questions/11223640/mockito-easymock-noclassdeffounderrornet-sf-cglib-proxy-enhancer

免责声明:文章转载自《PowerMock+Junit4 Maven配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PostgreSQL:COALESCE函数Windows更新导致的打印问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

docker pull 覆盖本地镜像问题

验证: $ docker images |grep cookdata test-cache 1.0.0 fededff87eb2 About a minute ago 6.2GB (base) [wu...

如何基于 PHP-X 快速开发一个 PHP 扩展

0x01 起步 PHP-X本身基于C++11开发,使用cmake进行编译配置。首先,你需要确定所有依赖项已安装好。包括: gcc-4.8 或更高版本 PHP7.0 或更高版本,需要php7-dev 开发包 cmake-2.8 或更高版本 然后安装PHP-X。 git clone https://github.com/swoole/PHP-X.git c...

CentOS7压缩目录及解压

砸门先了解一下简单的压缩 / 解压指令 注:本文章只描述使用指令。如需阅读完整信息,请百度查询! gzip bzip2 xz -z :表示压缩 -d :表示解压 压缩指令:gzip file1 解压指令: gzip -d file1.gz [root@localhost test]# gzip 1 [root@localhost test]# ls1.g...

SQLSERVER 建立全文检索

--创建测试表 --DROPTABLEFullTextIndexing CREATETABLEFullTextIndexing ( IDINTIDENTITY(1,1)NOTNULL, SentenceVARCHAR(MAX) ) --创建聚集索引 ALTERTABLEFullTextIndexingADDCONSTRAINTPK_Full...

CentOS5.x、CentOS6.x 使用NFS及mount实现两台服务器间目录共享

一、环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二、安装: NFS的安装配置:centos 5 : portmap:实现RPC(协议)的应用程序 yum -y install nfs-utils portmap centos 6(在CentOS 6.3当中,portmap服务由rpcbin...

Ruby Rails学习中:User 模型,验证用户数据

用户建模 一. User 模型 实现用户注册功能的第一步是,创建一个数据结构,用于存取用户的信息。 在 Rails 中,数据模型的默认数据结构叫模型(model,MVC 中的 M)。Rails 为解决数据持久化提供的默认解决方案是,使用数据库存储需要长期使用的数据。与数据库交互默认使用的是 ActiveRecord。Active Record 提供了一系列...