ZTestFramework

zio.test.sbt.ZTestFramework
final class ZTestFramework extends Framework

Attributes

Graph
Supertypes
trait Framework
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

override def fingerprints(): Array[Fingerprint]

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.

Attributes

Definition Classes
override def name(): String

A human-friendly name of the test framework that this object represents.

A human-friendly name of the test framework that this object represents.

Attributes

Definition Classes
override def runner(args: Array[String], remoteArgs: Array[String], testClassLoader: ClassLoader): Runner

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

Attributes

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.

Definition Classes
override def slaveRunner(args: Array[String], remoteArgs: Array[String], testClassLoader: ClassLoader, send: String => Unit): Runner

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.

Attributes

Definition Classes