scala.scalanative.junit.plugin
Type members
Classlikes
Definitions required by JUnit plugin
Definitions required by JUnit plugin
Scala.js port based on dotty.tools.backend.sjs.JSDefinitions#junit from Scala release 3.1.0. It contains the same definitions as original class which cannot be used directly in Scala Native plugin
- Companion:
- object
Generates JUnit bootstrapper objects for Scala Native
Generates JUnit bootstrapper objects for Scala Native
Scala Native similarly as Scala.js cannot use reflection to invoke JUnit tests, instead it injects bootstrapper classes responsible for running them.
This phase is a port of dotty.tools.dotc.transform.sjs.JUnitBootstrappers based on release 3.1.0. Actual transformation logic is the same. Unfortunately we cannot use sjs implementation directly, because JsDefinitions assumes usage of JsPlatform which is absent in SN compiler plugin.
Additionally this port differs from Scala.js implementation by supporting test suite wide ignore (ported from Scala 2 Native compiler plugin)
The Scala Native JUnit plugin replaces reflection based test lookup.
The Scala Native JUnit plugin replaces reflection based test lookup.
For each JUnit test my.pkg.X
, it generates a bootstrapper module/object
my.pkg.X$scalanative$junit$bootstrapper
implementing
scala.scalanative.junit.Bootstrapper
.
The test runner uses these objects to obtain test metadata and dispatch to relevant methods.