これは私の現在のテストフラグメントです:
<packaging>eclipse-test-plugin</packaging>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>com.springsource.org.junit</artifactId>
<version>4.7.0</version>
</dependency>
</dependencies>
次のプラグイン構成を使用します。
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-surefire-plugin</artifactId>
<version>${tycho.version}</version>
<configuration>
<dependencies>
<dependency>
<type>p2-installable-unit</type>
<artifactId>org.eclipse.equinox.ds</artifactId>
</dependency>
<dependency>
<type>p2-installable-unit</type>
<artifactId>org.apache.felix.gogo.shell</artifactId>
</dependency>
</dependencies>
<providerHint>junit47</providerHint>
<argLine>-ea</argLine>
</configuration>
</plugin>
依存関係を解決するために、POM ファーストのアプローチを使用します。
<pomDependencies>consider</pomDependencies>
上記の JUnit バージョンは、私が見つけた唯一のものであり、バンドルとしてパッケージ化されています。
問題は、フラグメントで JUnit と Mockito を一緒に使用できる一致が見つからないことです。
私の一般的な問題は次のとおりです。
- Maven Central の Mockito-core には Hamcrest 1.0-2.0 が必要ですが、JUnit バンドルは Hamcrest をバージョン 4.7.0 でエクスポートします。
- Springsource リポジトリで利用可能な junit-dep バンドルはありません
- 別の Hamcrest バンドルを追加すると、JUnit (4.7.0) によってエクスポートされたバージョンと Hamcrest バンドル (1.3) の間でバージョンの競合が発生します。
JUnit、Hamcrest、Mockito から独自のバンドルを作成することは避けたいと思います。