spring 下测试代码编写

1. 测试service

service 层业务逻辑较多,而且一般会和db发生关系。在测试代码中需要让测试用例成功跑完一遍后,不在db里留下测试数据,以免数据的问题引起测试失败或者没有测试到模拟的情况。

以下代码片段中通过@TransactionConfiguration注解将测试过程中的db操作在测试完成后默认作了一个回滚操作。

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:/test-base-config.xml")
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true)
@Transactional(isolation = Isolation.READ_UNCOMMITTED, propagation = Propagation.REQUIRES_NEW)
public class XXXXServiceTest {

   //在事务管理之外执行的代码,测试执行时 step1

   @BeforeTransaction
    public void verifyInitialDatabaseState() throws Exception{ }  

 

    //受事务管理器的管理,此处的db操作默认会回滚,测试执行时 step2

    @Before
    public void setUpTestDataWithinTransaction() throws Exception{ }

  

   //测试代码,受事务管理器控制,测试执行时 step3

   @Test
   public void testYYYYYYY(){   }

    //受事务管理器的管理,此处的db操作默认会回滚,测试执行时 step4

    @After
    public void tearDownWithinTransaction(){    }

 

    //在事务管理之外执行的代码,测试执行时 step5

    @AfterTransaction
    public void verifyFinalDatabaseState() throws Exception{    }

}

转载于:https://www.cnblogs.com/agefisher/archive/2013/04/25/3043414.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值