Как получить папку модуля в тесте плагинов - PullRequest
0 голосов
/ 25 марта 2020

Эта проблема - настоящий хедштейр. У меня есть некоторые тесты плагинов, которые выполняются через Maven / Tycho:

<plugin>
    <groupId>org.eclipse.tycho</groupId>
    <artifactId>tycho-surefire-plugin</artifactId>
    <configuration>
        <providerHint>junit4</providerHint>
        <useUIHarness>true</useUIHarness>

        <dependencies>
            <dependency>
                <artifactId>org.eclipse.e4.rcp</artifactId>
                <type>eclipse-feature</type>
            </dependency>
        </dependencies>
    </configuration>
</plugin>

При выполнении этой конфигурации с Java 8 код new File("").getAbsolutePath() возвращает путь, подобный C: \ Users \ Steffi \ AppData \ Local \ Temp \ app-294485596046597819 (некоторый временный путь).

При выполнении этой конфигурации с Java 11 возвращается путь, подобный S: \ git \ project \ project-it (папка ИТ-модуля проекта).

И это, очевидно, не только эта папка, но и все относительные пути, указывающие на разные местоположения.

Все плагины модули имеют минимальный JRE Java 8, и я могу повторить это поведение на машинах Windows и Linux, поэтому я предполагаю, что это специально.

Однако Eclipse всегда возвращает папку IT. Использование System.getProperty("user.dir") всегда возвращает временную папку. То, что я хочу, - это всегда получать папку IT, даже при выполнении тестов через Tycho. (Потому что там находятся мои тестовые данные.)

Как получить папку ИТ-проекта при выполнении интеграционного теста через Tycho?

...