Мое первое время, выполняющее любое тестирование, отличное от простого теста JUnit. У меня есть Аркиллиан, настроенный на очень старый проект EJB2.0 Ant, и я нахожусь здесь в тупике.Arquillian - некоторые внешние проблемы с банками
Настройки с Arquillian:
@Deployment
public static Archive<?> createDeployment() {
JavaArchive jar = ShrinkWrap.create(JavaArchive.class)
.addPackages(true, "com.admin", "com.framework", "com.pharmacy")
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class)
.as(ZipImporter.class)
.importFrom(new File("C:\\jboss-4.2.3.GA\\server\\default\\administration.ear"))
.as(EnterpriseArchive.class);
ear.addAsLibrary(jar);
return ear;
}
Я могу попасть в контейнер, получить источник данных и запросы к таблицам. Однако, если я запускаю тест, который использует коды, которые зависят от других JAR, или если сам тестовый код зависит от других JAR, то я получаю ClassNotFoundException.
Например, в моем тесте, я пытаюсь сделать запрос HTTP, используя httpclient-4.5.2.jar
и httpcore-4.4.4.jar
, то я получаю Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: org.apache.http.protocol.HttpContext
внутри тестовой JUnit консоли Eclipse. У меня есть эти банки в моем пути класса Eclipse, и он работает, когда я запускаю тот же HTTP-тест, используя Framework Codehaus Cargo.
Другой пример: я инициализирую экземпляр класса, и этот экземпляр класса вызывает вызов sftp с использованием apache vfs2 jar. Затем я получаю эту ошибку внутри jboss server.log: Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: org.apache.commons.vfs2.FileSelector
Что я делаю неправильно?