Wie verwende ich JUnit-Tests mit Spring Roo? (Probleme mit EntityManager)

Ich versuche, einen JUnit-Test für ein Spring Roo-Projekt zu schreiben. Wenn für meinen Test die Verwendung der Entitätsklassen erforderlich ist, erhalte ich die folgende Ausnahme:

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

Die JAR-Datei "Spring Aspects" scheint korrekt konfiguriert zu sein. Insbesondere habe ich folgendes impom.xml Datei

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

un

<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>

und die Klassen, die die Entitätsklassen verwenden, funktionieren einwandfrei, wenn sie nicht von einem JUnit-Test aufgerufen werden. Irgendeine Idee, wie ich die Dinge so einrichten kann, dass der Entity-Manager aus einem JUnit-Test injiziert wird?

Hier ist meine Testklasse (mehr oder weniger):

public class ServiceExampleTest {

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

Dies ist genug, um die Ausnahme auszulösen. Die FooServiceImpl-Klasse gibt eine Menge von Foo zurück, wobei Foo eine Entitätsklasse ist. DasgetFoos() -Methode funktioniert, wenn die Anwendung auf die übliche Weise ausgeführt wird. Das Problem tritt nur im Zusammenhang mit Unit-Tests auf.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage