转载于:http://doc.chinaunix.net/java/201005/1069477.shtml
easymock并不是万能的,在使用easymock时有一些限制需要注意。
(1) Object方法的限制
我们都知道java是一个单根继承体系,Object是所有类的基类。在Object类上有几个基本的方法,easymock是不能改变其行为的:equals(), hashCode()和toString()。
即对于easymock创建的mock对象,其equals(), hashCode()和toString()三个方法的行为时已经固定了点,不能通过Easymock.expect()来指定这三个方法的行为,即使这三个方法是接口定义的一部分。
我们来先看一个例子:
execute()方法将为我们打印出toString()和hashCode()方法的结果。
测试案例testDefaultBehavior()将为我们打印出mock对象默认的行为,输出如下:
easymock并不是万能的,在使用easymock时有一些限制需要注意。
(1) Object方法的限制
我们都知道java是一个单根继承体系,Object是所有类的基类。在Object类上有几个基本的方法,easymock是不能改变其行为的:equals(), hashCode()和toString()。
即对于easymock创建的mock对象,其equals(), hashCode()和toString()三个方法的行为时已经固定了点,不能通过Easymock.expect()来指定这三个方法的行为,即使这三个方法是接口定义的一部分。
我们来先看一个例子: