Вам нужен движок в вашем основном пути к классу, я предлагаю использовать тот, который предоставлен junit (с Gradle):
implementation 'org.junit.jupiter:junit-jupiter-engine:5.4.0'
implementation (
[group: 'org.junit.jupiter', name: 'junit-jupiter-api', version:'5.4.0'],
[group: 'org.junit.platform', name: 'junit-platform-launcher', version:'1.4.0']
)
Затем создайте TestFactory:
public class MyTestFactory {
@TestFactory
Collection<DynamicTest> dynamicTestCollection() {
return Arrays.asList(DynamicTest.dynamicTest(
"pipeline toto",
() -> Assertions.assertEquals(2, Math.addExact(1, 1)))
);
}
}
И создайте лаунчер:
LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
.selectors(
selectPackage(" org.qwant.datahub.djobi.tester.runners"),
selectClass("MyTestFactory")
)
.build();
Launcher launcher = LauncherFactory.create();
SummaryGeneratingListener listener = new SummaryGeneratingListener();
launcher.registerTestExecutionListeners(listener);
launcher.execute(request);
TestExecutionSummary summary = listener.getSummary();
summary.printTo(new PrintWriter(System.out));