Framework
Interface implemented by test frameworks.
Value members
Abstract methods
An array of Fingerprint
s that
specify how to identify test classes during discovery.
An array of Fingerprint
s 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
Runner
representing 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.