This repo has a couple of reproducers for tycho-surefire
tests, which are not detected as tests in Develocity.
There's 4 separate maven projects in there, 2 full ones:
tycho-plugin-test
: uses TychoIntegrationTestMojotycho-bnd-test
: uses BndTestMojo
And the two *-min
projects are copies of the two above, but I tried to remove as much as I could without breaking the build. You should be able to base integration tests on these two projects, but I'm not sure if I can remove much more.
Each of the reproducers is set up as their own project. To test any of those, you need to run mvn clean verify
(or mvn clean install
) in their respective directory.
All of these projects are based on demos available in the tycho repository available here, with some explanations of the demos here
Note: in the demos explanation there's a third type of tests using maven-surefire-plugin - even though these need the eclipse-plugin
packaging, they don't need OSGi framework (or have it mocked) and are regular unit tests from maven surefire, so they are correctly detected by Develocity.
The reproducers require Java 17+ (tested with 17 and 21) and Maven 3.9+ (tested using Maven 3.9.5).
The tycho-surefire-plugin is the preferred whenever you want to write tests that require an OSGi Framework running and is executed in the integration-test phase of your build, this is similar to what PDE offers as Plugin Tests. This is set up using eclipse-plugin
packaging and configure an additional execution of the tycho-surefire-plugin:plugin-test
goal with a test-source folder using the standard maven layout.
In Eclipse plugin development using Tycho, the src/main/resources/META-INF/MANIFEST.MF
file is used to define the manifest information for your plugin or bundle. This file is a critical component of OSGi-based applications and plays a central role in specifying the metadata and dependencies of your plugin.
The test in this project uses actual plugin-test OSGi framework to execute the test. The test itself is executed using org.eclipse.tycho.surefire.TychoIntegrationTestMojo
.
Similar to tycho-plugin-test
, except that all the code actually using osgi framework is removed, however the setup still executes tycho-surefire:plugin-test
goal, with Develocity still not detecting the test(s) executed.
The tycho-surefire-plugin has also support for bnd-testing, this is like plugin-test
but uses the BND testing framework. There is currently no JDT/PDE equivalent but this integrates nicely with the OSGi Testing Support and allows to execute prebuild test-bundles.
The test in this project uses actual bnd-testing osgi framework to execute the test. The test itself is executed using org.eclipse.tycho.surefire.BndTestMojo
.
Similar to tycho-bnd-test
, except that all the code actually using osgi framework is removed, however the setup still executes tycho-surefire:bnd-test
goal, with Develocity still not detecting the test(s) executed.