如何进行非事务性 Spring 测试?

问题描述 投票:0回答:1

我有这个测试课:

@TransactionConfiguration(defaultRollback = false)
public class CandidateServiceTest extends AbstractServiceTest {
    @Test
    public void add() {
    }
    ...
}


@ContextConfiguration(locations = { "classpath:/test/BeanConfig.xml" })
public class AbstractServiceTest  extends AbstractTransactionalJUnit4SpringContextTests{
 ...
}

所有方法

CandidateServiceTest
都是事务性

我如何改变

CandidateServiceTest
它的所有方法都是非事务性

java spring testing transactions
1个回答
1
投票

不要延长

AbstractTransactionalJUnit4SpringContextTests
。只需像使用服务一样使用
@Transactional
注释即可:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:/test/BeanConfig.xml" })
public class AbstractServiceTest {

}

@TransactionConfiguration(defaultRollback = false)
public class CandidateServiceTest extends AbstractServiceTest {
    @Test
    public void add() {
        // non-transactional test
    }

    @Test
    @Transactional
    public void transactionalAdd() {
        // transactional test
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.