当前位置: 首页 > 面试题库 >

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

袁子瑜
2023-03-14
问题内容

我正在尝试为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文件中包含以下内容:

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-aspects</artifactId>
  <version>${spring.version}</version>
</dependency>

<plugin>
  <configuration>
  <outxml>true</outxml>
  <aspectLibraries>
    <aspectLibrary>
      <groupId>org.springframework</groupId>
        <artifactId>spring-aspects</artifactId>
    </aspectLibrary>
  </aspectLibraries>
  <source>1.6</source>
  <target>1.6</target>
  </configuration>
</plugin>

如果没有从JUnit测试调用,则使用实体类的类可以正常工作。知道如何设置内容以便从JUnit测试注入实体管理器吗?

这是我的测试课程(或多或少):

public class ServiceExampleTest {

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

这足以引发异常。FooServiceImpl类返回一个Foo集合,其中Foo是一个实体类。该getFoos()应用程序时,通常的方式运行方法的工作。该问题仅在单元测试的上下文中出现。


问题答案:

对于Spring Roo来说,这是一个令人烦恼的问题,我还没有找到官方的解决方案。

但是…这是两个解决方法:

  • 将spring-aspects jar复制到您的项目,然后将其添加到您的Projects AspectJ Aspect Path
  • 使用Maven运行您的单元测试(并错过绿色的条形:()

对于选项一,右键单击项目,然后选择“属性”->“ AspectJ构建”->“ Aspect Path”选项卡。



 类似资料:
  • 我能够测试代码,但代码覆盖率不包括第二个开关情况。 请参考以下代码。 下面是我的测试代码。 由于我已经声明了一个带有测试值的字符串变量,所以我无法涵盖第二个switch语句。我尝试过if else的情况,但同样的问题发生了。我们还有别的办法吗?

  • 我正在学习JUnit测试。我想在JUnit中测试getter和setter,但它不起作用。这是第一节课。 我需要如何更改以测试setter?我如何测试它?

  • 我想为我的一个编写一个简单的测试,并断言输入已正确映射到: 问题:如何向该servlet发送请求正文。然后再检查一下字段是否都设置正确? 这可能与此类似,但我不知道如何检查/监视已解析的DTO? @重复标记:这不是链接问题(关于如何读取响应正文字符串)的重复。我实际上是在要求进行身体测试。

  • 问题内容: 我是第一次使用JUnit进行Java测试。我必须使用Java,并且想使用单元测试。 我的问题是:我有一个带有一些抽象方法的抽象类。但是有些方法不是抽象的。如何使用JUnit测试此类?示例代码(非常简单): 我要测试并运行。 在“JUnit常见问题解答”部分中,我找到了此链接,但我不理解作者想在此示例中说些什么。这行代码是什么意思? 问题答案: 如果您没有该类的具体实现,并且方法不是测试

  • 问题内容: 目前,我有以下 build.gradle 文件: 这 的build.gradle 文件是我的仓库 在这里 。我所有的主文件都在 src / model /中 ,它们各自的测试在 test / model中 。 如何正确添加JUnit 4 依赖项 ,然后在 测试/模型 文件夹中运行那些测试? 问题答案: 如何正确添加junit 4依赖关系? 假设您要针对标准Maven(或等效版本)存储库

  • 当前我有以下build.gradle文件: 此build.gradle文件用于我的存储库。我的所有主文件都在src/model/中,它们各自的测试都在test/model中。