ZTestFramework
=General Test Pieces=
Contains test logic and how it should be executed. The most important method is:
runSpec
is the most significant method in this class. It:
- Interacts with the Runtime
- Builds TestRunner
- Folds aspects into logic
- Builds
TestExecutor
and passes spec to it - Returns summary
Capable of executing specs that require an environment R
and may fail with
an E
Recursively traverses tree of specs, executing suites/tests in
parallel
Encapsulates the logic necessary to run specs that require an environment R
and may fail with an error E
.
==SBT-specific pieces==
SBT needs everything packaged in these to run tests/suites
zio.test.sbt.ZTestTask extends Task
Contains a ZIOSpecAbstract and everything that SBT needs to run/report it.
SBT delegates to Runner
clients for managing/executing test
zio.test.sbt.ZioSpecFingerprint What SBT needs to find your tests. Finds
ZIOSpecAbstract
implementations in your codebase.
zio.test.sbt.ZTestRunnerJVM extends sbt.testing.Runner
Receives all Specs found by the FingerPrint
and merges them into a single
ZTestTask
sbt.testing.Framework We need to implement this for SBT to recognize ZIO-test as a legitimate test framework.
zio.test.sbt.ZTestFramework extends sbt.testing.Framework Defines
ZIOSpecFingerPrint
& ZTestRunner
and passes them to SBT
Attributes
- Graph
- Supertypes