java的单元测试中,经常写单元测试方法,测试job任务。而这些job任务,对应电子商务等流水系统来说,比较常见。 它们常用的特点是:实现不同系统之间的数据库的流向。执行此job,把系统A的数据库执行到系统B的数据库的表中。 中间会有方法进行相关的处理。比如以下是个单元测试,测试生成的job。
@Test public void testCreateSettlement() throws ParseException { //createSettlementTask.createSettlement(null); Calendar ca = Calendar.getInstance(); ca.add(Calendar.DAY_OF_MONTH, -17); SettlementResult res = createSettlementFacade.createSettlementOrder(ca.getTime()); System.out.println("res->"+res); } |
此提现job的作用是:把某个系统A的订单,执行此job后,把数据处理后,插入到系统B后生成结算单。
那么这个是功能测试时,需要验证系统A的订单数据,是否都生成到了系统B的结算单呢。
首先需要准备各种订单数据,生成不同的结算单。 手工测试的压力太大了。
后来考虑用junit的单元自动化测试的方法实现。
@before public void before() { 执行此job之前的数据准备的封装 } @test public void test() { equals(request,response) } @after public void after() { 执行此job之后的数据变化 } |
其实难点还是在于用例设计和数据准备这块。怎么样的用例可以作为一个场景。而且能覆盖到提交的代码的更新。
最新内容请见作者的GitHub页:http://qaseven.github.io/