读书人

JMockit运用实例lt;三gt;验证被Mock的类的

发布时间: 2012-08-15 16:57:17 作者: rapoo

JMockit使用实例<三>验证被Mock的类的某个方法是否被调用
关键词: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);            }        }    }}

?

小结
有时候我们想验证某个类的方法是否被正确调用的时候,上述Verifications就派上用场了

读书人网 >开源软件

热点推荐