Como usar os testes JUnit com o Spring Roo? (Problemas com o EntityManager)
Estou tentando escrever um teste JUnit para um projeto Spring Roo. Se meu teste exigir o uso das classes de entidade, eu recebo a seguinte exceção:
java.lang.IllegalStateException: Entity manager has not been injected
(is the Spring Aspects JAR configured as an AJC/AJDT aspects library?)
O JAR do Spring Aspects parece estar configurado corretamente. Em particular, tenho o seguinte nopom.xml
Arquivo:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
e
<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>
e as classes que usam as classes de entidade funcionam bem, quando não são chamadas a partir de um teste JUnit. Alguma idéia de como posso configurar as coisas para que o gerenciador de entidades seja injetado a partir de um teste JUnit?
Aqui está minha classe de teste (mais ou menos):
public class ServiceExampleTest {
@Test
public void testFoo() {
FooService fs = new FooServiceImpl();
Set<Foo> foos = fs.getFoos();
}
}
Isso é suficiente para lançar a exceção. A classe FooServiceImpl retorna um conjunto de Foo, onde Foo é uma classe de entidade. ogetFoos()
O método funciona quando o aplicativo é executado da maneira usual. O problema ocorre apenas no contexto de testes de unidade.