2013-03-21 50 views
0

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

它看起来是应用程序上下文的问题我有3个应用程序上下文,但applicationContext测试导入2之前。

有些时候,我做 @applicationContext(applicatonContext1.xml)

等次 @applicationContext(的applicationContext-的test.xml)

我得到不同的测试不同的异常:

  • SQLGrammarException:无法执行查询。
  • 分离的实体异常
  • ConstraintViolation异常。

一些测试正常工作,一些没有,但我不知道为什么。 谢谢

+0

可能重复[在Eclipse中独立运行所有JUnit测试,每次重新加载Spring上下文](http://stackoverflow.com/questions/24854527/run-all-junit-tests-indepentently-in-eclipse-reloading-每次都是弹簧环境) – Raedwald 2014-07-20 23:00:32

回答

0

DirtiesContext放在测试上,允许每次运行测试时重新加载上下文。

不同的@ApplicationContext应该可以正常工作。我认为你不会在你的测试中清理数据库(因为没有@DirtiesContext春天将使用相同的上下文(和相同的数据库)相同的@ApplicationContext)。

+0

我会尽力的!谢谢! – Josema 2013-03-21 14:51:48

+0

好吧,似乎工作。但现在我得到了roo生成的测试中的其他异常。 IllegalStateException:实体管理器尚未注入。如果我单独运行测试,这个工作正常 – Josema 2013-03-21 14:57:38

+0

请提供测试类注释 – 2013-03-21 15:31:08