У меня большой проект затмения с несколькими классами junit. Я пытаюсь найти баланс между добавлением ресурсов времени выполнения к пути к классам проекта eclipse и необходимостью настройки нескольких конфигураций запуска junit.
Я понимаю, что путь к классу сборки eclipse по умолчанию наследуется всеми конфигурациями модульных тестов, но некоторые из моих тестов требуют дополнительных ресурсов времени выполнения. Я мог бы добавить эти ресурсы в путь к классам сборки, но это замедляет общее время сборки проекта (так как
это должно держать больше файлов в синхронизации). Мне не нравится идея включения * ресурсов и jars в путь к классам во время выполнения.
У меня есть два варианта: положительные и отрицательные, как я вижу, перечислены
1: Добавить все ресурсы времени выполнения в затмение classpath.
- POS Я могу выбрать модульный тест и запустить его без настройки пути к классам теста.
- POS Дополнительные ресурсы на пути к классам сборки означают, что затмение замедляется.
- NEG Сложнее убедиться, что каждый тест использует правильные ресурсы.
2: настройка пути к классам для каждого модульного теста
- POS Я точно знаю, какие ресурсы используются тестом.
- POS Меньший путь к классу сборки означает более быструю сборку и выполнение Eclipse.
- NEG Трудно настроить несколько отдельных путей классов Junit Runtime.
В идеале я хотел бы настроить одну базовую конфигурацию среды выполнения junit, которая принимает стандартный путь к классу сборки eclipse, добавляет дополнительные файлы времени выполнения и ресурсы. Затем эту конфигурацию можно повторно использовать в конкретных тестовых случаях junit. Возможно ли что-нибудь подобное?
Просмотр конкретной конфигурации запуска junit, которую можно экспортировать в файл общего проекта
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
<stringAttribute key="bad_container_name" value="/CR-3089_5_1_branch."/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/CR-3089_5_1_branch/src/com/x/y/z/ParserJUnitTest.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
</listAttribute>
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.x.y.z.ParserJUnitTest"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="CR-3089_5_1_branch"/>
</launchConfiguration>
возможно ли расширить / повторно использовать эту конфигурацию и параметризировать значение 'org.eclipse.jdt.launching.MAIN_TYPE'?
Я знаю о решениях для запуска общего файла и файла jar manifest для настройки пути к классам, но они оба, похоже, предполагают, что сборка ant запускается до выполнения теста. Я хочу избежать зависимости затмения от вызова цели муравья, когда
рефактотирование кода и выполнение тестов.
В основном - Какой самый простой способ отделить и поддерживать пути к классам во время сборки eclipse и от классов времени выполнения junit?