-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Upgrading to JUnit 5.13
Marc Philipp edited this page May 26, 2025
·
6 revisions
If you're using GraalVM's Native Build Tools in a version prior to 0.11.0, you will need to adjust your build to include the following classes with --initialize-at-build-time
:
Important
The steps below are not necessary if you're using Native Build Tools in version 0.11.0 or later.
org.junit.jupiter.api.DisplayNameGenerator$IndicativeSentences
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$ClassInfo
org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$LifecycleMethods
org.junit.jupiter.engine.descriptor.ClassTemplateInvocationTestDescriptor
org.junit.jupiter.engine.descriptor.ClassTemplateTestDescriptor
org.junit.jupiter.engine.descriptor.DynamicDescendantFilter$Mode
org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector$1
org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor$MethodInfo
org.junit.jupiter.engine.discovery.ClassSelectorResolver$DummyClassTemplateInvocationContext
org.junit.platform.engine.support.store.NamespacedHierarchicalStore$EvaluatedValue
org.junit.platform.launcher.core.DiscoveryIssueNotifier
org.junit.platform.launcher.core.HierarchicalOutputDirectoryProvider
org.junit.platform.launcher.core.LauncherDiscoveryResult$EngineResultInfo
org.junit.platform.suite.engine.SuiteTestDescriptor$LifecycleMethods
plugins {
id("org.graalvm.buildtools.native") version "0.10.6"
}
val initializeAtBuildTime = listOf(
"org.junit.jupiter.api.DisplayNameGenerator\$IndicativeSentences",
"org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor\$ClassInfo",
"org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor\$LifecycleMethods",
"org.junit.jupiter.engine.descriptor.ClassTemplateInvocationTestDescriptor",
"org.junit.jupiter.engine.descriptor.ClassTemplateTestDescriptor",
"org.junit.jupiter.engine.descriptor.DynamicDescendantFilter\$Mode",
"org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector\$1",
"org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor\$MethodInfo",
"org.junit.jupiter.engine.discovery.ClassSelectorResolver\$DummyClassTemplateInvocationContext",
"org.junit.platform.engine.support.store.NamespacedHierarchicalStore\$EvaluatedValue",
"org.junit.platform.launcher.core.DiscoveryIssueNotifier",
"org.junit.platform.launcher.core.HierarchicalOutputDirectoryProvider",
"org.junit.platform.launcher.core.LauncherDiscoveryResult\$EngineResultInfo",
"org.junit.platform.suite.engine.SuiteTestDescriptor\$LifecycleMethods",
)
graalvmNative {
binaries {
named("test") {
buildArgs.add("--initialize-at-build-time=${initializeAtBuildTime.joinToString(",")}")
}
}
}
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<version>0.10.6</version>
<extensions>true</extensions>
<executions>
<execution>
<id>test-native</id>
<goals>
<goal>test</goal>
</goals>
<phase>test</phase>
<configuration>
<buildArgs>
<buildArg>--initialize-at-build-time=org.junit.jupiter.api.DisplayNameGenerator$IndicativeSentences</buildArg>
<buildArg>--initialize-at-build-time=org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$ClassInfo</buildArg>
<buildArg>--initialize-at-build-time=org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor$LifecycleMethods</buildArg>
<buildArg>--initialize-at-build-time=org.junit.jupiter.engine.descriptor.ClassTemplateInvocationTestDescriptor</buildArg>
<buildArg>--initialize-at-build-time=org.junit.jupiter.engine.descriptor.ClassTemplateTestDescriptor</buildArg>
<buildArg>--initialize-at-build-time=org.junit.jupiter.engine.descriptor.DynamicDescendantFilter$Mode</buildArg>
<buildArg>--initialize-at-build-time=org.junit.jupiter.engine.descriptor.ExclusiveResourceCollector$1</buildArg>
<buildArg>--initialize-at-build-time=org.junit.jupiter.engine.descriptor.MethodBasedTestDescriptor$MethodInfo</buildArg>
<buildArg>--initialize-at-build-time=org.junit.jupiter.engine.discovery.ClassSelectorResolver$DummyClassTemplateInvocationContext</buildArg>
<buildArg>--initialize-at-build-time=org.junit.platform.engine.support.store.NamespacedHierarchicalStore$EvaluatedValue</buildArg>
<buildArg>--initialize-at-build-time=org.junit.platform.launcher.core.DiscoveryIssueNotifier</buildArg>
<buildArg>--initialize-at-build-time=org.junit.platform.launcher.core.HierarchicalOutputDirectoryProvider</buildArg>
<buildArg>--initialize-at-build-time=org.junit.platform.launcher.core.LauncherDiscoveryResult$EngineResultInfo</buildArg>
<buildArg>--initialize-at-build-time=org.junit.platform.suite.engine.SuiteTestDescriptor$LifecycleMethods</buildArg>
</buildArgs>
</configuration>
</execution>
</executions>
</plugin>