У меня есть многомодульный проект RCP Eclipse.Я хочу запустить тесты JUnit от Maven.Модули, имеющие тесты JUnit, являются подключаемыми модулями eclipse.Я попытался запустить их, используя Tycho Surefire Plugin
, добавив в файл pom следующее:
<packaging>eclipse-test-plugin</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/test</sourceDirectory>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>0.24.0</version>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
<useUIHarness>false</useUIHarness>
<providerHint>junit4</providerHint>
</configuration>
</plugin>
</plugins>
</build>
</project>
При mvn test
тесты не запускаются.Только классы скомпилированы.С mvn verify
я получаю следующую ошибку:
------------------------------------------------------- ИСПЫТАНИЯ ------------------------------------------------------- Произошла ошибка.См. Файл журнала E: \ Git \ EF8_Toolcenter_repository_custom \ de.audi.eftc.platform.contact \ target \ work \ data.metadata.log.
[ОШИБКА] Не удалось выполнить цель org.eclipse.tycho:tycho-surefire-plugin: 0.24.0: test (default-test) в проекте xxxx.contact: при запуске среды выполнения теста произошла непредвиденная ошибка (код возврата 13).Смотрите журнал для деталей.-> [Помощь 1]
Журнал содержит:
! СЕССИЯ 2019-03-05 11: 31: 23.457 ----------------------------------------------- eclipse.buildId = неизвестно java.version = 1.8.0_191 java.vendor = Константы BootLoader корпорации Oracle: OS = win32, ARCH = x86_64, WS = win32, NL = en_US Аргументы платформы: -application org.eclipse.tycho.surefire.osgibooter.headlesstest -testproperties xxxx \ target \ surefire.properties Command-Строковые аргументы: -data xxxx \ target \ work \ data -application org.eclipse.tycho.surefire.osgibooter.headlesstest -testproperties xxxx \ target \ surefire.properties
! ENTRY org.eclipse.tycho.surefire.junit4 2 0 2019-03-05 11: 31: 24.892! MESSAGE Не удалось разрешить модуль: org.eclipse.tycho.surefire.junit4 [134] Неразрешенное требование: Import-Package: junit.framework;version = "3.0.0". Нерешенное требование: Import-Package: junit.framework;version = "3.0.0"
! ENTRY org.eclipse.osgi 4 0 2019-03-05 11: 31: 24.893! MESSAGE Ошибка приложения! STACK 1 org.apache.maven.surefire.util.SurefireReflectionException: java.lang.ClassNotFoundException: org.apache.maven.surefire.junit4.JUnit4Provider at org.apache.maven.surefire.util.ReflectionUtils.loadClass (ReflectionUtils.java:251) в org.apache.maven.surefire.util.ReflectionUtils.instantiateOneArg (ReflectionUtils.java:128) в org.apache.maven.surefire.booter.SurefireReflector.instantiateProvider (SurefireReflector.java:235) в org.apache.maven.surefire.booter.actj.Fider: ReiderFider113) по адресу org.apache.maven.surefire.booter.ProviderFactory.invokeProvider (ProviderFactory.java:78) по адресу org.eclipse.tycho.surefire.osgibooter.OsgiSurefireBooter.run (OsgiSurefireBooter.java.ecip. org.seg at91).surefire.osgibooter.HeadlessTestApplication.run (HeadlessTestApplication.java:21) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Methol.jpg.app.EclipseAppContainer.callMethodWithException (EclipseAppContainer.java:587) в org.eclipse.equinox.internal.app.EclipseAppHandle.run (EclipseAppHandle.java:198).(EclipseAppLauncher.java:134) в org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start (EclipseAppLauncher.java:104) в org.eclipse.core.runtime.adaptor.java.terse (eclipse).sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)в java.lang.reflect.Method.invoke (Method.java:498) в org.eclipse.equinox.launcher.Main.invokeFramework (Main.java:656) в org.eclipse.equinox.launcher.Main.basicRun (Main.java: 592) в org.eclipse.equinox.launcher.Main.run (Main.java:1498) в org.eclipse.equinox.launcher.Main.main (Main.java:1471) Причина: java.lang.ClassNotFoundException: org.apache.maven.surefire.junit4.JUnit4Provider at org.eclipse.tycho.surefire.osgibooter.CombinedClassLoader.findClass (CombinedClassLoader.java:37) в java.lang.ClassjoL.aderjava.lang.ClassLoader.loadClass (ClassLoader.java:357) в org.apache.maven.surefire.util.ReflectionUtils.loadClass (ReflectionUtils.java:243) ... еще 24
Чтоя делаю не так?Заранее спасибо!