JUNIT结合DBUNIT进行单元测试初试
????? 涉及数据库操作的单元测试,最麻烦的就是基础数据准备、正确的验证数据。这两项工作以前我都是手工完成,存储过程、SQL搞得挺乱,最近试了试DBUNIT还是不错,为准备数据提供了一种思路。
?
测试类的基类如下:
?具体一个测试类:
public class LogFtpletTest extends TestBase { LogFtplet log = new LogFtplet(); public void setUp() { super.initConn(); } public void testOnFend() throws DataSetException, DatabaseUnitException, Exception { log.onAppendStart(session, request);//业务方法 ITable expectedTable = getXmlTable("T_RECEIVE_STATUS");//事先准备的XML正确数据 ITable actualTable = getDbTable("T_RECEIVE_STATUS");//业务方法执行完后,数据库表数据 Assertion.assertEqualsIgnoreCols(expectedTable, actualTable, new String[] {"S_ID", "START_TIME", "UPDATE_TIME"}); //比较需要的列值 assertEquals(new BigDecimal(2), actualTable.getValue(0, "STATUS"));//比较需要的列值 }}?