Я хочу написать некоторые модульные тесты, которые выполняются внутри Adobe CQ 5.4. Я делаю то, что описано в этой статье, для тестирования в CQ:Компиляция модульных тестов в Adobe CQ5 CRXDE, эта ссылка Felix OSGI bundle Код JUnit
Однако, после того, как я создаю тестовый класс единицы в моем коде Java, он не будет компилировать в CRXDE, потому что он не может разрешить пространства имен org.junit. Я установил и активировал пакет JUnit в Felix, как описано (Apache Sling JUnit Core), но я предполагаю, что есть что-то еще, что мне нужно сделать, чтобы этот активный пакет Felix был найден в CRXDE. Расслоение Felix в случае CQ5 я подключен к показывает экспортированных пакетов:
junit.framework,version=4.8.2
org.apache.sling.junit,version=1.0.7.SNAPSHOT
org.apache.sling.junit.annotations,version=1.0.7.SNAPSHOT
org.junit,version=4.8.2
org.junit.matchers,version=4.8.2
org.junit.rules,version=4.8.2
org.junit.runner,version=4.8.2
org.junit.runner.manipulation,version=4.8.2
org.junit.runner.notification,version=4.8.2
org.junit.runners,version=4.8.2
org.junit.runners.model,version=4.8.2
В этом примере модульного тестирования кода ниже, последние три импорта заявления «не могут быть решены.»
import org.apache.sling.api.resource.*;
import org.junit.*;
import org.junit.runner.*;
import org.apache.sling.junit.annotations.*;
@RunWith(SlingAnnotationsTestRunner.class)
public class MyUnitTest {
public ResourceResolver getResourceResolver() {
try {
return getResourceResolverFactory().
getAdministrativeResourceResolver(null);
} catch (LoginException e) {
fail(e.toString());
}
return null;
}
}
Это мой послушник понимание того, что OSGI пакет установлен в Felix должен быть доступен для меня ссылаться в своих Java-классах с использованием CRXDE, но это не происходит для JUnit расслоения я установил. Почему нет? Что мне нужно сделать, чтобы получить CRXDE, чтобы найти ссылку и компиляцию OSGI в CRXDE?
Эй, Шон, я пытаюсь создать такую же тестовую установку. Удалось ли вам с любым решением? Thx много для любой помощи. Можете ли вы указать мне какую-то приличную информацию? – Denis
Я еще не нашел ответа, почему для установки ссылок в Felix недостаточно для CRXDE для разрешения ссылок. В конце концов, я сделал это, чтобы по существу повторно ссылаться на файлы jar, которые установлены в Felix из моего кода. Я создал отдельный пакет в своем исходном коде, чтобы содержать мои модульные тесты, и я добавил папку «libs» на том же уровне, что и моя папка src, и поместил junit-4.10.jar и org.apache.sling.junit.core- 1.0.7-SNAPSHOT.jar, поэтому мой код может разрешить ссылки. Это похоже на то, что сделал Бертран ... Я просто не понимаю, зачем нужна повторная привязка. – Shawn