powermockito测试私有方法_Spock单元测试框架实战指南十 - 注意事项

本文介绍了在实际项目中使用Spock和PowerMockito进行单元测试时需要注意的问题,包括版本依赖、单元测试文件创建、运行测试、规范以及Spock与Mockito混用的问题。强调了避免版本冲突、正确配置测试源目录、遵循单元测试规范以及避免Spock和Mockito注解混用等关键点。
摘要由CSDN通过智能技术生成

Spock虽然好用,但要应用到实际项目中还是需要注意几个问题,下面讲下我们公司在使用过程中遇到的一些问题和解决方案

版本依赖

要使用Spock首先需要引入相关依赖,目前使用下来和我们项目兼容的Spock版本是1.3-groovy-2.5,以maven为例(gradle可以参考官网),完整的pom依赖如下:

1.3-groovy-2.52.5.4org.spockframework    spock-core    ${spock.version}testorg.spockframework    spock-spring    ${spock.version}testorg.springframework    spring-test    testorg.codehaus.groovy    groovy-all    pom${groovy.version}            groovy-test-junit5            org.codehaus.groovy            groovy-testng            org.codehaus.groovyorg.codehaus.gmavenplus    gmavenplus-plugin    1.6compilecompileTests

Spock是使用groovy语言写单测的,所以需要引入groovy-all的依赖

在引入 groovy-all 包时排除了 groovy-test-junit5 和 groovy-testng,这两个包和和 power mock 有冲突,在执行 mvn test 会导致NPE的问题

如果你的项目中没有用过groovy,还需要添加groovy的maven编译插件,这样才能编译我们用Spock写的单元测试

引入groovy依赖后可能会出现版本冲突的问题,因为如果你的项目引用了springboot-start-base这样的集合式jar包,它里面也会引用groovy,有可能跟我们引入的groovy包版本出现冲突,或者公司的一些框架也会引用groovy的包,如果版本不一致也有可能冲突,需要排下包

然后执行 mvn clean compile 验证下是否有冲突,如果能成功编译就没有这个问题

目前Spock的最新版本是2.0以上,在Spock 2.x 的版本里官方团队已经移除Sputnik,不再支持代理运行power mock的方式

因为Spock 2.0是基于JUnit5,我们项目以前的单元测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值