单元测试 @Transactional 注解

简单的对比介绍下用 @Transactional 注解和 不使用的区别

 @Before
    public void setUp() throws Exception {
        Software software = new Software();
        software.setViewable(false);
        software.setSoftChName("ruanjian");
        Software soft = softwareRepository.save(software);
        LOG.info("保存成功,软件名为:" + soft.getSoftChName());

        for (int i = 0; i <5 ; i++) {
            Software so=new Software();
            so.setSoftChName("软件"+i);
            so.setViewable(true);
            Software ware=softwareRepository.save(so);
            LOG.info("软件名"+ware.getSoftChName());
        }
    }

不使用该注解 -控制台打印

这里写图片描述


使用@Transactional注解 -控制台打印
这里写图片描述


使用@Transactional注解,Test类中每个方法执行完之后都会默认清空虚拟数据库中的数据,因此便不再需要每次执行完都要清空数据。
另一种方法就是加一个@after 方法

   @After
    public void teraDown(){
        System.out.println("原数据:"+softwareRepository.findAll().size());
        softwareRepository.deleteAllInBatch();
        System.out.println("清空后的数据:"+softwareRepository.findAll().size());
    }

控制台打印输出

如果不使用@Transactional 注解,同时也没有@after 方法清空数据库,那么@before 中的数据将会重复创建,数据将会积累。分情况使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值