Привет, я пытаюсь протестировать свои уровни Service и Dao для приложения Java EE 7.
Поэтому я ищу решения для тестирования, следуя руководствам, используя Arquillian с тестом junit и удаленной зависимостью wildfly.
Интерфейсы Dao и Service с относительными реализациями были созданы после моего junit-теста с Arquillian:
@RunWith(Arquillian.class)
public class GenericServiceTest {
@Inject
private EmployeeService employeeService;
@Deployment
public static JavaArchive createDeployment() {
return ShrinkWrap
.create(JavaArchive.class)
.addAsManifestResource("META-INF/persistence.xml",
"persistence.xml")
.addClasses(EmployeeDao.class, EmployeeDaoImpl.class,
EmployeeService.class, EmployeeServiceImpl.class,
Employee.class)
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
}
@Test
@Transactional
public void should_crud() {
// Gets all the objects
assertNotNull(employeeService);
Employee employee = employeeService.get(new Integer(1));
assertNotNull(employee);
}
}
Запуск класса как JUnit Test не работает с этой ошибкой:
Вызвано: java.lang.Exception: «WFLYCTL0216: Ресурс управления '[(\"deployment\" => \"test.war\")]' не найден»
Тест проходит успешно, если какие-либо классы были добавлены в ShrinkWrap следующим образом:
@RunWith(Arquillian.class)
public class GenericDaoTest {
@Inject
private EmployeeService employeeService;
@Deployment
public static JavaArchive createTestableDeployment() {
final JavaArchive jar = ShrinkWrap.create(JavaArchive.class)
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
return jar;
}
@Test
public void should_crud() {
}
}
Как я могу создать рабочий тест, используя arquillian для Java EE 7, добавляя реализации класса обслуживания?
И мне нужно добавить каждый класс и интерфейсы, которые должны быть вызваны (например, все сущности, классы dao и т. д.), или только интерфейс службы и класс реализации?
Большое спасибо
test.warне найдено сервером из-за ошибок при создании этого архива. Итак, первое, что вам нужно сделать, это повысить уровень регистратора контейнера Java EE с INFO до DEBUG, чтобы увидеть ошибку завершения во время создания развертывания. Кстати, есть ли особая причина для создания архива Java (JAR)? Обычно мы развертываем веб-архив (WAR) в контейнере Java EE. - person Mincong Huang   schedule 23.08.2016