在搞 公司的 junit4 进行测试的时候, 居然 事务 会自动回滚,而 数据 又没有异常 看起来 配置文件 什么的也没有问题啊, 奇怪了 百度了一下 原来是 junit4 自动 为 测试方法 的 数据 操作 加了 数据回滚的 其实这样也有好处,就是 如果 使用 正式环境的数据来测试的话,就不怕 污染 到 数据了, 也不怕 搞乱数据了。、 如果不需要回滚看招:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:conf/crm-biz-test.xml"})
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false)
@Transactional()
public class BaseTestCase extends AbstractTransactionalJUnit4SpringContextTests{
加上 注解 @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = false) 如果 需要 回滚数据, 去掉 注解 即可, 如果某个方法需要 回滚 可以使用
@Test
@Rollback(true)
public void delete() {
如果不去掉 defaultRollback = true 代表 自动 加上 了 数据回滚,适用 所有的测试方法 如果某个 方法 调用后,数据不回滚的话, 在某个方法 上面加上 @Rollback(false) // 不回滚该方法的