4,Unitils模块扩展
扩展Unitils一般分四步走:
①,新建功能Module(如AModule),实现Module接口;
②,新建模块Listener(如AListener),继承TestListener;
③,改写(@Override)TestListener里的相关方法,完成相关扩展的功能;
④,修改配置文件unitils.properties,注册扩展的模块:
unitils.modules=… …,a unitils.module. a.className=… … AModule |
笔者期望在测试方法执行之后清理用Excel准备的测试数据,保证数据的健壮性和避免测试数据的相互冲突,笔者如下扩展了DbUnitModule来完成这个功能:
public class TDbUnitModule extends DbUnitModule { …… @Override public TestListener getTestListener() { final TestListener listener = super.getTestListener(); TestListener result = new TestListener() { @Override public void beforeTestSetUp(Object testObject, Method testMethod) { listener.beforeTestSetUp(testObject, testMethod); } @Override public void afterTestMethod(Object testObject, Method testMethod, Throwable testThrowable) { // 清理测试数据 deleteDataSet(testMethod, testObject); listener.afterTestMethod(testObject, testMethod, testThrowable);//比较 } }; return result; } } |
修改unitils.properties:
unitils.modules=database,dbunit,mock,easymock,inject,spring unitils.module.dbunit.className=com.taobao.unitils.module.TDbUnitModule |
至此,模块扩展基本完成了。
Unitils,让测试更加简单。