Spring整合Junit测试后配置事务

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bobozai86/article/details/79617788

很多时候我们不希望单元测试的结果玷污了数据库,即执行的测试数据不去修改数据库,只需要告诉我们最终的测试结果即可,那么怎样也让我们的单元测试也具有事务功能呢?

1、方法级别的

在测试方法上添加注解@Rollback(true)。

public class FooServiceTest{
    @Autowired
    private FooService fooService;
    @Test
    @Rollback(true)
    public void testSaveFoo() {
        Foo foo = new Foo();
        // ...
        long id = fooService.saveFoo(foo);
        assertTrue(id > 0);
    }
}

2、类级别

在测试类上添加@Transactionnal注解。

public class FooServiceTest extends BaseSpringTestCase{
    @Autowired
    private FooService fooService;
    @Test
    // @Rollback(true) 默认就是true
    public void testSaveFoo() {
        Foo foo = new Foo();
        // ...
        long id = fooService.saveFoo(foo);
        assertTrue(id > 0);
    }
}

参考:

http://blog.csdn.net/u013516966/article/details/46699165

展开阅读全文

没有更多推荐了,返回首页