Я пытаюсь запустить тесты jUnit для приложения RCP Eclipse с помощью Tycho.Manifest.mf не найден org.junit
Для этого я создал простой тест jUnit, который запускается, когда я нажимаю «Выполнить как> jUnit-Test». Но когда я хочу запустить его с помощью теста mvn, он не найдет jUnit.
Я прочитал в Интернете, что мне нужно добавить jUnit к пути сборки. -> Я уже это сделал. Кроме того, я прочитал, что мне нужно добавить jUnit как пакет требований в файл Manifest.mf. Но есть проблема! Я получаю сообщение об ошибке: Bundle 'org.junit' canot разрешается.
Мой файл MANIFEST.MF выглядит следующим образом:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tests
Bundle-SymbolicName: myPackageName
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: myCompany
Fragment-Host: thePackageWhereTestesPluginIs
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Require-Bundle: org.junit
Где моя ошибка? Когда я беру org.junit4, он не может быть разрешен либо ...
Спасибо!
Update:
Теперь я использую вместо требует расслоения:
Import-package: org.junit4
(или org.junit, его поведение такое же), и она может быть решена в manifest.mf файле , Но когда я запустил его, я получаю следующую ошибку: [ERROR] -> [Помощь 1] org.apache.maven.InternalErrorException: Внутренняя ошибка: java.lang.RuntimeException: org.osgi.framework.BundleException: Bundle myTestBundle не может быть разрешено Ошибки при разрешении: Bundle myTestBundle - Отсутствует ограничение: Import-Package: org.junit4; version = "0.0.0"
Как я могу это решить?
спасибо !!
Мой ПОМ файл тестового пучка:
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>myProject.tycho.master</artifactId>
<groupId>myProject</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../myProject.tycho.master/pom.xml</relativePath>
</parent>
<groupId>myProject</groupId>
<artifactId>myProject.myTestBundle</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
</dependency>
</dependencies>
</project>
Родитель ПОМ:
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>myProject</groupId>
<artifactId>myProject.tycho.master</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<tycho.version>0.17.0</tycho.version>
</properties>
<modules>
<module>../myProject.myTestBundle</module>
</modules>
<repositories>
<!-- configure p2 repository to resolve against -->
<repository>
<id>Repository1</id>
<layout>p2</layout>
<url>url-to-a-p2-site-on-my-server</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho.version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<resolver>p2</resolver>
<pomDependencies>consider</pomDependencies>
<target>
<artifact>
<groupId>myGroupId</groupId>
<artifactId>myGroupId.target</artifactId>
<classifier>targetPlatform</classifier>
</artifact>
</target>
<environments>
<environment>
<os>macosx</os>
<ws>cocoa</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
</environments>
<ignoreTychoRepositories>false</ignoreTychoRepositories>
</configuration>
</plugin>
</plugins>
</build>
</project>
Update: Я думаю, что проблема решена! Я добавил jUnit на мои сайты обновления p2, и теперь у меня нет ошибок!
Вы можете разместить файл POM, потому что я предполагаю, что вы пропустили, чтобы добавить зависимость JUnit в ваш файл pom. – khmarbaise
Теперь я добавил его, спасибо за вашу помощь !! – tralala
Tycho должен печатать лучшие сообщения об ошибках: https://bugs.eclipse.org/bugs/show_bug.cgi?id=405790 – oberlies