Framework
Interface implemented by test frameworks.
Value members
Abstract methods
An array of Fingerprints that
specify how to identify test classes during discovery.
An array of Fingerprints that
specify how to identify test classes during discovery.
A human-friendly name of the test framework that this object represents.
A human-friendly name of the test framework that this object represents.
Initiates a run.
Initiates a run.
If a client invokes this method before a previously initiated run has
completed, the test framework may throw IllegalStateException
to indicate it cannot perform the two runs concurrently.
- Value parameters:
- args
the test-framework-specific arguments for the new run
- remoteArgs
the test-framework-specific remote arguments for the run in a forked JVM
- testClassLoader
a class loader to use when loading test classes during the run
- Returns:
a
Runnerrepresenting the newly started run.- Throws:
- java.lang.IllegalStateException
if the test framework is unable to initiate a run because it is already performing a previously initiated run that has not yet completed.
Scala Native specific: Creates a worker for a given run. Ported from
Scala.js The worker may send a message to the controller runner by calling
send.
Scala Native specific: Creates a worker for a given run. Ported from
Scala.js The worker may send a message to the controller runner by calling
send.
Important: this method name cannot be changed. It must keep the name
slaveRunner for compatibility with Scala.js. This is a public
to-be-overridden API that testing frameworks must implement. Currently
testing frameworks can have a unique implementation of Framework for JVM,
JS and Native. If we change that method name, they will need a separate
source file for Native.
Similarly, Scala.js cannot change the name of that method in its API either, since that would be a binary breaking change that would break all published testing frameworks, which is not acceptable.
Introducing another method and deprecating this one as a forwarder is not an option, because testing frameworks must implement that method, not call it.