EasyMock问题总结

  最近开发中同事遇到过很多EasyMock的问题,也许有时候会怀疑easyMock是不是出了问题,其实99.99%的情况都是我们自己的代码出了问题,所以请认真的检查出错前后代码。

1.  

java.lang.IllegalStateException: 
missing behavior definition for the preceding method call getBidwordSequence()

出现这样的错误请仔细检查getBidwordSequence()是void方法,还是有返回值,返回值的类型是不是写对了。

2.

java.lang.IllegalStateException: 0 matchers expected, 1 recorded.
This exception usually occurs when matchers are mixed with raw values when recording a method:
	foo(5, eq(6));	// wrong
You need to use no matcher at all or a matcher for every single param:
	foo(eq(5), eq(6));	// right
	foo(5, 6);	// also right

  这个错误是要检查出错方法的前面方法是否多添加了匹配器(anyObject),尤其注意andReturn();easymock在andReturn()这个方法中入参不能是anyObject的。必须要给出方法的入参。

//错误写法
EasyMock.expect(subwayService.auditActivityRejected(EasyMock.anyObject(List.class)))
.andReturn(anyObject(List.class));

//正确写法
EasyMock.expect(subwayService.auditActivityRejected(EasyMock.anyObject(List.class)))
.andReturn(null);

3.

EasyMock.expect(subwayService.auditActivityRejected(EasyMock.anyObject(List.class))).andReturn(1);
EasyMock.expect(subwayService.auditActivityVerified(EasyMock.anyObject(List.class))).andReturn(1);

如果你原本希望录制脚本1,结果由于copy代码录制成了脚本2,这样你期待方法返回结果0,结果方法始终返回默认的0,而且由于你可能对于返回结果是0的抛出了自定义的异常,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值