使用dbunit初始化数据
? ? 在进行自动化测试时,测试的健壮性很重要,对于数据库驱动程序来说,单元测试的健壮性主要来自于数据库数据。你写测试的时候是一种状态,但数据库的状态会随时改变,如何保证单元测试的健壮性呢? 我们可以在测试前使用dbunit来初化数据,以保证你测试中使用的数据没问题。
? ?1,使用dbunit导出数据库数据:
?
?2,使用dbunit来初始化数据,我使用的方式是refresh形式的—就是xml数据里有的数据(根据主健与数据库数据比对),就进行update,没有的数据就进行insert操作;
? ? 这也就在某种意义上建立了一个虚拟schema,当然你也可以使用单独的schema进行测试,呵呵
?
? ?
@Testpublic void test保存采购入库() throws Exception{BuyEnter buyEnter = purchaseStorageService.loadPurchaseStorageById(-1l); //直接使用特定数据进行测试,这个数据得到初始化,而不用担心数据不存在或一致//...}?小结:当然了,严格意义上的单元测试初始化是在单个测试前进行初始化工作(包括数据初始化)—在setUp方法中初初始化,这样单元测试才具备独立性,可重复性及容易理解。
?
?
?
?