使用spring运行多个测试时出现jpa问题
我的问题是,当我单独运行测试时,测试工作正常,但当我运行所有测试时,有几个测试开始失败 这看起来是applicationContext的问题,我有3个applicationContext,但是applicationContext测试在导入2之前就导入了 有时候我喜欢 @applicationContext(applicationContext1.xml) 其他时间 @applicationContext(applicationContext test.xml) 对于不同的测试,我会得到不同的异常:使用spring运行多个测试时出现jpa问题,spring,testing,jpa,junit,Spring,Testing,Jpa,Junit,我的问题是,当我单独运行测试时,测试工作正常,但当我运行所有测试时,有几个测试开始失败 这看起来是applicationContext的问题,我有3个applicationContext,但是applicationContext测试在导入2之前就导入了 有时候我喜欢 @applicationContext(applicationContext1.xml) 其他时间 @applicationContext(applicationContext test.xml) 对于不同的测试,我会得到不同的异常
- SQLGrammarException:无法执行查询
- 分离实体异常
- ConstraintViolation异常
感谢您将
DirtiesContext
放在测试上,以允许在每次运行测试时重新加载上下文
不同的
@ApplicationContext
应该可以正常工作。我认为您在测试中没有清理数据库(因为如果没有@DirtiesContext
spring将对相同的@ApplicationContext
使用相同的上下文(和相同的数据库)。好的,这似乎行得通。但是现在我在roo生成的测试中得到了另一个异常。IllegalStateException:尚未注入实体管理器。如果我单独运行测试,那么请提供测试类注释,我使用@RooIntegrationTest(entity=employee.class)。当我进行mvn测试时,它没有失败,只是在Eclipse中失败了。我刚刚在生成的roo测试中使用了@DirtiesContext,这很有效!。没有错误,非常感谢!可能重复的