关键词:verifications 想验证被mock的类的某个方法是否被调用单元测试类清单 /** * 演示验证被mock的类的某个方法是否被调用 * @sina weibo regbin@tom.com */public class servicetest { @mocked remote remote; @test public void testdofuncyes() { service service = new service(); service.dofunc(true, 1); new verifications() { { remote.dosomething(anyint);//表示这个方法会被执行 //remote.dosomething(1);//表示这个方法会被执行,而且参数是1;在当前case,会通过 //remote.dosomething(2);//表示这个方法会被执行,而且参数是2;在当前case,这个会不被通过 } }; } @test public void testdofuncno() { service service = new service(); service.dofunc(false, 1); new verifications() { { remote.dosomething(anyint); times = 0;//调用次数,0表示上面方法不会被调用 } }; } private static class remote { public void dosomething(int a) { } } private static class service { private remote remote = new remote(); public void dofunc(boolean flag, int a) { if (flag) { remote.dosomething(a); } } }}
?
小结<br>有时候我们想验证某个类的方法是否被正确调用的时候,上述verifications就派上用场了