在我使用Maven运行一堆Selenium(jUnit4)测试后,我想进行数据库清理(删除他们插入的东西等)。这是在Tapestry / Spring / Hibernate上运行的旧项目和遗留数据库。我想用@After
带注释的方法进行清理 - 但注入DAO的/ Managers / SessionFactory不起作用。
测试是这样的:我在一个控制台中运行(mvn jetty:run-war
)应用程序,并在另一个控制台(mvn test
)中开始测试 - 它访问localhost:8080上的应用程序。
答案 0 :(得分:6)
几种可能的方法:
try{} finally{}
块在数据库事务中包装每个测试,最后回滚事务。 答案 1 :(得分:0)
我宁愿使用
@Transactional
上述方法声明的anotation。每次测试后都会运行回滚。这对我来说可以。
例如:
@Test
@Transactional
public void simpleTest(){
// your logic here
}