Какую функцию включить для bundle org.junit

#eclipse-rcp #tycho

#eclipse-rcp #тихо

Вопрос:

Я занимаюсь рефакторингом своего приложения RCP и собираюсь использовать tycho в качестве системы построения.

В процессе мне пришлось переписать свою целевую платформу, чтобы она зависела от онлайн-репозиториев. В настоящее время моя цель — что-то вроде:

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.6"?>
<target name="MyRcpApp" sequenceNumber="12">
  <locations>
    <location includeAllPlatforms="false" includeMode="planner" includeSource="false" type="InstallableUnit">
      <unit id="org.eclipse.rcp.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0" />
      <repository location="http://download.eclipse.org/releases/indigo/"/>
    </location>
  </locations>
  <targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
</target>
  

Однако эта цель не предоставляет пакет для тестов junit (org.junit)… следовательно, в моем eclipse много ошибок (из-за отсутствия junit), и моя сборка завершается неудачно.

Кто-нибудь знает, какой модуль я должен включить? (или, лучше, как я могу получить список всех модулей, доступных в данном репозитории?)

Ответ №1:

вам понадобится функция JDT (к сожалению, я не знаю меньшей функции, которая включает junit)

 <unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
  

Другой вариант — включить отдельные IU пакета (формат файла .target поддерживает это, но пользовательский интерфейс целевого редактора этого не делает). В этом случае вам нужно убедиться, что также добавлены транзитивные зависимости. Попробуйте добавить

 <unit id="org.junit" version="0.0.0"/>
<unit id="org.hamcrest.core" version="0.0.0"/>
  

Комментарии:

1. 1 за включение отдельных модулей! Я не хочу, чтобы весь JDT просто запускал мои тесты junit!