7.3.5 测试
这里给出save操作的测试代码,其他部分请参见示例代码。
这里简单介绍一下测试步骤。
1.首先建立测试环境,即这句decoratorTest.setup(this):如果使用Jpa,那么会创建GenericRepositoryJpa对象并使用LogRepository修饰,然后调用Jpa的API设置一个事务的保存点(savepoint);使用Hibernate的过程一样。
2.创建一条user数据并提交,即genericrepository.save(user),接着我们提交事务并设置下一个保存点,即decoratorTest.commitAndRenewTx()。
3.在完成测试验证之后,提交数据并撤销资源,即这句:decoratorTest.tear Down()。
4.已经熟悉策略(Strategy)模式的读者阅读完代码之后不难发现,我们正是采用了策略模式撰写了此测试,DecoratorTestDrive类承担Context角色,DecoratorTest.HBTEST和DecoratorTest.JPATEST是其中的两个具体策略(Concrete Strategy):在Hibernate的上下文中,使用Hibernate的API设置保存点,提交数据和释放连接资源等;在Jpa的上下文中,使用Jpa的API设置保存点,提交数据和释放连接资源等。
对策略模式有兴趣的读者可以参见本书第12章。