springboot +spock
springboot使用spock做单测
静态方法mock: PowerMockito
需要注意只配置@PrepareForTest和RunWith是不生效的,这样会爆方法找不到的java异常, 原因是spock本身就有@RunWith(Sputnik.class)
@PrepareForTest({ StaticClassYouWantTest.class})
@RunWith(PowerMockRunner.class)
需要改成
@PrepareForTest({ StaticClassYouWantTest.class})
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(Sputnik.class)
使用时
PowerMockito.mockStatic(StaticClassYouWantTest.class)
Mockito.when(StaticClassYouWantTest.methodA()).thenReturn(true)
PrepareForTest使用时机
1. PowerMockito.whenNew
必须加注解@PrepareForTest和@RunWith。
注解@PrepareForTest里写的类是需要mock的new对象代码所在的类。
2. mock final
必须加注解@PrepareForTest和@RunWith。
注解@PrepareForTest里写的类是final方法所在的类。
3. mock 静态方法
必须加注解@PrepareForTest和@RunWith。
注解@PrepareForTest里写的类是静态方法所在的类。
4. mock私有方法
只需要加注解@PrepareForTest
注解里写的类是私有方法所在的类
5. mock系统类的静态方法
必须加注解@PrepareForTest和@RunWith。
注解里写的类是需要调用系统方法所在的类
ref :
https://blog.csdn.net/qaz296490709/article/details/72880370
springboot +spock相关推荐
- SpringBoot+Spock的熟悉之路(二):Spock,Mock和Mockitio的关系
Spock,Mock和Mockitio的关系 前言 环境 依赖 Spock和Mockito Mockito的简述 Mock,Stub和Spy 数据准备 Mock Stub Spy Spock中的Moc ...
- SpringBoot + Spock
SpringBoot+Spock单元测试最强解析,没有之一 Maven配置 THE CODE Maven配置 参考spock提供的 demo spock本身依赖groovy 且我们需要和spring集 ...
- SpringBoot+Spock的熟悉之路(一):能正常启动并使用Spock
能正常启动并使用Spock 前言 对Spock的一言概述 环境 依赖 IDEA的准备 插件 项目结构 初次使用 类的结构 一个简单的例子 简单总结 遇到的问题 项目启动或者Build Module的时 ...
- spock做post请求get请求,在springboot环境下使用gradle构建工具的demo,IDEA的开发工具
1.创建一个springboot项目,基于gradle的创建 1)new一个project 2)选择spring initializr 3)选择gradle project,然后next 4)选择一个 ...
- Spock是什么?它和JUnit,JMock有什么区别?
这是Spock系列的第一篇文章,整个专辑会介绍Spock的用途,为什么使用Spock?它能给我们带来什么好处?它和JUnit.JMock.Mockito有什么区别?我们平时写单元测试代码的常见问题和痛 ...
- SpringBoot应用场景启动器
SpringBoot主程序类,主入口 项目目录结构 下面的图中展示了上一篇博客中创建的入门程序,从这里我们开始了解关于SpringBoot程序启动原理 我们知道在Java中,每一个Java应用程序都有 ...
- 基于Groovy的Spock单元测试框架入门指南
文章目录 1. Spock Primer 基本概念 1.1 对比Junit 1.2 Imports 1.3 Specification测试类 1.4 Fields 属性 1.5 Fixture Met ...
- 继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错? springboot 两种方式稳定解决跨域问题
继承WebMvcConfigurer 和 WebMvcConfigurerAdapter类依然CORS报错???springboot 两种方式稳定解决跨域问题! 之前我写了一篇文章,来解决CORS报错 ...
- Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
Dockerfile 将springboot项目jar包打成镜像,并将yml配置文件外挂. # 以一个镜像为基础,在其上进行定制.就像我们之前运行了一个 nginx 镜像的容器,再进行修改一样,基础镜 ...
最新文章
- photoshop小结
- C语言二维数组元素的多种表示方法小结
- emacs python ide_Emacs Python IDE win7 x64
- JS之返回字符首次出现位置的indexOf
- 【 CodeForces - 864B】Polycarp and Letters(水题,字符串,有坑)
- 用于将带有查询字符串的复杂对象传递到Web API方法的自定义模型绑定器
- javaweb--HTTP状态码
- 查看计算机80端口,电脑win10 80端口被占用的检测和解决方法
- t_user is not mapped [from t_user as u where u.loginname = :loginname and u.password =:password]
- Atitit eclipse新特性总结3.1---4.4 4.5
- php如何获取当前几号,PHP如何获取当前时间
- mpg文件怎么转换成mp4
- 制造业数字化转型的意义是什么?
- c语言:用牛顿迭代法求方程在1.5附近的根:2x^3-4x^2+3x-6=0.
- 说说我是如何拿下腾讯offer的
- 2017年总结:人生百味,有你真好
- Word排版(小计)
- 【渝粤教育】国家开放大学2018年春季 8624-21T物业管理案例分析 参考试题
- vue 项目中 自动生成 二维码
- 计算机毕业设计之java+javaweb的电动车实名制挂牌管理系统
热门文章
- html div height=,height在css里什么意思?
- 快速排序算法-c语言实现,快速排序算法实现(C语言)(转)
- TMS320F28335项目开发记录6_28335之cmd文件详解
- java memento_Java备忘录(Memento)模式实现的示例代码
- Kylin 调优方法
- 超方便插件lombok的使用(eclipse版本)
- java 经典语录_java编程经典语录
- druid连接mysql报错
- GST--Style Tokens: Unsupervised Style Modeling, Control and Transfer in End-to-End Speech Synthesis
- PowerShell运行脚本却用记事本打开