Unitils 学习笔记
源码部分
EasyMock相关的
有三个注解:
Mock : 用注解来创建一个宽松的Mock对象.主要用来在一个测试类中, 对一个声明的属性创建一个mock后的对象, 比如在一个测试类中有一个list属性(未赋值), 那么加@Mock对象之后, 那么该list将会被赋值一个mock的list对象. 就是不为null了.AfterCreateMock: 用来对方法进行注解, 使用了该注解的方法, 将在创建一个mock对象之后被调用, 使用场景: 比如实例化一个对象之后可能还需要执行一些方法来做其他的配置什么的.RegularMock: 用注解来创建一个EasyMock对象.主要是将某个测试类的属性实例化为一个mock对象.
几个工具类:
LenientMocksControl: 对一些非参数的方法mock进行了简化DummyObjectUtil: 用来创建一个虚拟的对象, 也就是根据制定的类型创建一个对象, 内部使用了cglib(因此创建的是cglib根据字节码新建的类实例), 可以学习cglib用法
一般要测试某某方法, 可以这样写: testMethodNameWhenXXXXX(), 比如这样写:
@RegularMockprivate UserDao mockUserDao;
Uniitls还有很懂东东值得深入, 但是我觉得对mock, dbunit, spring这几个module用熟了应该非常强了.