Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用spring运行多个测试时出现jpa问题_Spring_Testing_Jpa_Junit - Fatal编程技术网

使用spring运行多个测试时出现jpa问题

使用spring运行多个测试时出现jpa问题,spring,testing,jpa,junit,Spring,Testing,Jpa,Junit,我的问题是,当我单独运行测试时,测试工作正常,但当我运行所有测试时,有几个测试开始失败 这看起来是applicationContext的问题,我有3个applicationContext,但是applicationContext测试在导入2之前就导入了 有时候我喜欢 @applicationContext(applicationContext1.xml) 其他时间 @applicationContext(applicationContext test.xml) 对于不同的测试,我会得到不同的异常

我的问题是,当我单独运行测试时,测试工作正常,但当我运行所有测试时,有几个测试开始失败

这看起来是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,这很有效!。没有错误,非常感谢!可能重复的