相关疑难解决方法(0)

Spring单元测试用例不会回滚插入记录

以下测试用例在功能上正常工作,但其中一个必须在数据库中创建新文章的测试方法在测试用例执行结束时不会回滚.
我希望它以这种方式工作.对于测试用例,更新文章实际上在测试用例执行结束时回滚更新.

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = "/applicationContext-test.xml")
@TransactionConfiguration(transactionManager = "txManager", defaultRollback = true)
@Transactional
public class PriceRepositoryTest {

@Resource(name ="repository")
private PriceRepository repository;
@Test
public void testGetAll() throws Exception {
    Assert.assertEquals(8, repository.getAll().size());
}


@Test
@Rollback
public void shouldSaveNewArticle(){
    Article article = new Article();
    article.setName("Article");
    article.setPrice(33);
    repository.save(article);

    Assert.assertEquals(9, repository.getAll().size());
}


@Test
@Rollback
public void shouldUpdateArticle(){
    Article article = repository.getArticle(4);
    article.setPrice(33);
    repository.update(article);

    Assert.assertEquals(String.valueOf(33.0), String.valueOf(repository.getArticle(4).getPrice()));
}
Run Code Online (Sandbox Code Playgroud)

}

java spring unit-testing hibernate transactions

7
推荐指数
1
解决办法
3992
查看次数

标签 统计

hibernate ×1

java ×1

spring ×1

transactions ×1

unit-testing ×1