使用Mockito时遇到的一些问题
最近在使用Mockito时遇到了几个比较tricking的问题,在这里记录一下。
1.如果方法的参数或者返回类型是泛型通配符相关的(如<?>,<? extends XXX>),不管你定义的对象类型是否正确匹配,用any(match)方法时都会编译出错。
解决办法:修改方法的参数类型,去掉泛型通配符。我遇到的相关代码去掉通配符之后也是运行正常的,如果去掉后运行不正常,可能需要寻找其他解决办法,具体没有研究。
2.mock对象的方法有多个参数,如果对第一个参数使用any()方法匹配,则后面的所有参数都需要使用any匹配,而不能使用真实对象作为参数。
1  | 
 | 
3.在setUp方法里面进行方法mock,直接在IDE里面运行junit成功,但用ant运行则会报错,其实这是另外一个测试类里面verify方法使用错误,如下:
1  | 
 | 
很奇怪,在用ant跑单元测试的时候,这个测试类的错误不是在这个类的测试报告里体现,而是出现在另外一个类的测试报告里,而且直接在IDE里面运行junit不会报错。
使用Mockito时遇到的一些问题的更多相关文章
- 学习hamcrest和mockito时的总结和demo
		
UT中需要的jar Junit4.1X.jar hamcrest-library-1.x.jar hamcrest-core-l.x.jar mockito-all-1.10.x.jar Junit ...
 - Mockito图书馆
		
转载:https://static.javadoc.io/org.mockito/mockito-core/2.12.0/org/mockito/Mockito.html#42 org.mockito ...
 - Mockito 中文文档 ( 2.0.26 beta )
		
Mockito 中文文档 ( 2.0.26 beta ) 由于缺乏校对,难免有谬误之处,如果发现任何语句不通顺.翻译错误,都可以在github中的项目提出issue.谢谢~ Mockito框架官方地址 ...
 - windows类书的学习心得(转载)
		
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
 - 从 Paxos 到 ZooKeeper
		
分布式一致性 分布式文件系统.缓存系统和数据库等大型分布式存储系统中,分布式一致性都是一个重要的问题. 什么是分布式一致性?分布式一致性分为哪些类型?分布式系统达到一致性后将会是一个什么样的状态? 如 ...
 - Junit mockito 测试Controller层方法有Pageable异常
		
1.问题 在使用MockMVC+Mockito模拟Service层返回的时候,当我们在Controller层中参数方法调用有Pageable对象的时候,我们会发现,我们没办法生成一个Pageable的 ...
 - Junit mockito解耦合测试
		
Mock测试是单元测试的重要方法之一. 1.相关网址 官网:http://mockito.org/ 项目源码:https://github.com/mockito/mockito api:http:/ ...
 - 用Mockito mock普通的方法
		
上面的例子是很理想化的状态,但是在实际的开发中,我们需要经常调用一些依赖特定环境的函数或者调用同事写的代码,而同事仅提供了接口.这个时候就需要利用Mockito来协助我们完成测试. 当然,你可以选择e ...
 - mock测试框架Mockito
		
无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访 ...
 
随机推荐
- POJ 2752 Seek the Name, Seek the Fame(KMP中next的理解)题解
			
题意: 要求你给出每个前后缀相同的串的长度,比如: "alala"的前缀分别为{"a", "al", "ala", &q ...
 - 【附9】elasticsearch-curator + Linux定时任务
			
官网教程入口:https://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html 一.下载安装 下载:sud ...
 - 论文笔记之:Human-level control through deep reinforcement learning
			
Human-level control through deep reinforcement learning Nature 2015 Google DeepMind Abstract RL 理论 在 ...
 - 马尔科夫随机场模型(MRF-Markov Random Field)
			
原文: http://blog.sina.com.cn/s/blog_92c398b00102vs3q.html 马尔科夫过程 隐马尔科夫过程 与马尔科夫相比,隐马尔可夫模型则是双重随机过程,不 ...
 - 51nod 1307 绳子与重物(并查集水了一发)
			
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1307 题意: 思路: 可以直接二分答案,然后dfs. 因为标签是并查集, ...
 - 常见文档一览表 -httpclient
			
httpclient http://www.yeetrack.com/?p=779 虫师『性能测试』文章大汇总 https://www.cnblogs.com/fnng/archive/2012/08 ...
 - python 中的object与type的关系
			
object 和 type的关系很像鸡和蛋的关系,先有object还是先有type没法说,obejct和type是共生的关系,必须同时出现的. 在看下去之前,也要请先明白,在Python里面,所有的东 ...
 - python flask 接口
			
例子1 from flask import Flask, jsonify app = Flask(__name__) tasks = [ { , 'title': u'Buy groceries', ...
 - Qt5_容器_知识点记录
			
1.删除: 1.1.erase 1.2.remove / removeAt 2. 3. 4. 5.
 - 《剑指offer》第十八题(删除链表中重复的结点)
			
// 面试题18(二):删除链表中重复的结点 // 题目:在一个排序的链表中,如何删除重复的结点?例如,在图3.4(a)中重复 // 结点被删除之后,链表如图3.4(b)所示. #include &l ...