当前位置:  开发笔记 > 编程语言 > 正文

如何在Spring Roo中使用JUnit测试?(EntityManager的问题)

如何解决《如何在SpringRoo中使用JUnit测试?(EntityManager的问题)》经验,为你挑选了1个好方法。

我正在尝试为Spring Roo项目编写JUnit测试.如果我的测试需要使用实体类,我会得到以下异常:

java.lang.IllegalStateException: Entity manager has not been injected 
(is the Spring Aspects JAR configured as an AJC/AJDT aspects library?)

Spring Aspects JAR看起来配置正确.特别是,我在pom.xml文件中有以下内容:


  org.springframework
  spring-aspects
  ${spring.version}


  
  true
  
    
      org.springframework
        spring-aspects
    
  
  1.6
  1.6
  

当没有从JUnit测试调用时,使用实体类的类工作正常.知道如何设置,以便从JUnit测试中注入实体管理器吗?

这是我的Test类(或多或少):

public class ServiceExampleTest {

  @Test
  public void testFoo() {
    FooService fs = new FooServiceImpl();
    Set foos = fs.getFoos();
  }
}

这足以抛出异常.FooServiceImpl类返回一个Foo,其中Foo是一个实体类.该getFoos()应用程序时,通常的方式运行方法的工作.问题只出在单元测试的背景下.



1> 小智..:

ponzao是对的.通过让我的测试类扩展AbstractJunit4SpringContextTests,我能够拥有所有弹簧注入魔法.

例如

@ContextConfiguration(locations = { "/META-INF/spring/applicationContext.xml" })
public class SelfRegistrationTest extends AbstractJUnit4SpringContextTests {

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有