Как использовать тесты JUnit с Spring Roo? (Проблемы с EntityManager)
Я пытаюсь написать тест JUnit для проекта Spring Roo. Если мой тест требует использования классов сущностей, я получаю следующее исключение:
java.lang.IllegalStateException: Entity manager has not been injected
(is the Spring Aspects JAR configured as an AJC/AJDT aspects library?)
JAR Spring Aspect выглядит правильно настроенным. В частности, у меня есть следующее в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 возвращает Set of Foo, где Foo является классом сущности.getFoos()
Метод работает, когда приложение запускается обычным способом. Проблема возникает только в контексте модульных тестов.