目前HiMock.verify()只验证我们在mocker中定义的方法是否都被执行,如果有验证调用顺序,次数等等的要求,我觉得用TDD书中介绍的log方法就可以了,也就是说,要验证什么你就发挥自己的想象力在mocker中完成。(当然,如果哪位哥们有更好的主意请告诉我们)
另外,除了mock interface外,还可以mock 普通的类,不过有一些限制:
哦,对了,mocker(伪实现对象)也有一些限制,目前mocker不能进行继承复用,甚至连其根类的Object的方法也不能复用。(目前我还不知道这样做究竟好不好,哪位哥们给个答案。)
下面的操作是被认为无效的,因为在mock中没有定义toString(),它不继承超类的方法。
Subscriber mockSubscriber = (Subscriber)hiMock.mock(Subscriber.class,new SubscibeMocker()); mockSubscriber.toString();//Object的方法,对不起,这里会抛出NotImplementedMethodException
所以,制作mocker的时候,不要考虑复用为妙 :)
祝我们都好运...