final case class Spec[-R, +E, +L, +T](caseValue: SpecCase[R, E, L, T, Spec[R, E, L, T]]) extends Product with Serializable
A Spec[R, E, L, T] is the backbone of _ZIO Test_. Every spec is either a
suite, which contains other specs, or a test of type T. All specs are
annotated with labels of type L, require an environment of type R and
may potentially fail with an error of type E.
- Self Type
- Spec[R, E, L, T]
- Alphabetic
- By Inheritance
- Spec
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
@@[R0 <: R1, R1 <: R, E0, E1, E2 >: E0 <: E1, S0, S1, S >: S0 <: S1](aspect: TestAspect[R0, R1, E0, E1, S0, S1])(implicit ev1: <:<[E, TestFailure[E2]], ev2: <:<[T, TestSuccess[S]]): ZSpec[R1, E2, L, S]
Syntax for adding aspects.
Syntax for adding aspects.
test("foo") { assert(42, equalTo(42)) } @@ ignore
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
bimap[E1, T1](f: (E) ⇒ E1, g: (T) ⇒ T1)(implicit ev: CanFail[E]): Spec[R, E1, L, T1]
Returns a new spec with remapped errors and tests.
- val caseValue: SpecCase[R, E, L, T, Spec[R, E, L, T]]
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
distinguish: Spec[R, E, Either[L, L], T]
Returns a new spec with the suite labels distinguished by
Left, and the test labels distinguished byRight. -
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
exists[R1 <: R, E1 >: E](f: (SpecCase[R, E, L, T, Any]) ⇒ ZIO[R1, E1, Boolean]): ZIO[R1, E1, Boolean]
Determines if any node in the spec is satisfied by the given predicate.
-
final
def
filterLabels(f: (L) ⇒ Boolean): Option[Spec[R, E, L, T]]
Returns a new Spec containing only tests/suites with labels satisfying the specified predicate.
-
final
def
filterTestLabels(f: (L) ⇒ Boolean): Option[Spec[R, E, L, T]]
Returns a new Spec containing only tests with labels satisfying the specified predicate.
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
fold[Z](f: (SpecCase[R, E, L, T, Z]) ⇒ Z): Z
Folds over all nodes to produce a final result.
-
final
def
foldM[R1 <: R, E1, Z](defExec: ExecutionStrategy)(f: (SpecCase[R, E, L, T, Z]) ⇒ ZIO[R1, E1, Z]): ZIO[R1, E1, Z]
Effectfully folds over all nodes according to the execution strategy of suites, utilizing the specified default for other cases.
-
final
def
forall[R1 <: R, E1 >: E](f: (SpecCase[R, E, L, T, Any]) ⇒ ZIO[R1, E1, Boolean]): ZIO[R1, E1, Boolean]
Determines if all node in the spec are satisfied by the given predicate.
-
final
def
foreach[R1 <: R, E1, A](failure: (Cause[E]) ⇒ ZIO[R1, E1, A], success: (T) ⇒ ZIO[R1, E1, A]): ZIO[R1, Nothing, Spec[R1, E1, L, A]]
Iterates over the spec with the sequential strategy as the default, and effectfully transforming every test with the provided function, finally reconstructing the spec with the same structure.
-
final
def
foreachExec[R1 <: R, E1, A](defExec: ExecutionStrategy)(failure: (Cause[E]) ⇒ ZIO[R1, E1, A], success: (T) ⇒ ZIO[R1, E1, A]): ZIO[R1, Nothing, Spec[R1, E1, L, A]]
Iterates over the spec with the specified default execution strategy, and effectfully transforming every test with the provided function, finally reconstructing the spec with the same structure.
-
final
def
foreachPar[R1 <: R, E1, A](failure: (Cause[E]) ⇒ ZIO[R1, E1, A], success: (T) ⇒ ZIO[R1, E1, A]): ZIO[R1, Nothing, Spec[R1, E1, L, A]]
Iterates over the spec with the parallel strategy as the default, and effectfully transforming every test with the provided function, finally reconstructing the spec with the same structure.
-
final
def
foreachParN[R1 <: R, E1, A](n: Int)(failure: (Cause[E]) ⇒ ZIO[R1, E1, A], success: (T) ⇒ ZIO[R1, E1, A]): ZIO[R1, Nothing, Spec[R1, E1, L, A]]
Iterates over the spec with the parallel (
n) strategy as the default, and effectfully transforming every test with the provided function, finally reconstructing the spec with the same structure. -
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
mapError[E1](f: (E) ⇒ E1)(implicit ev: CanFail[E]): Spec[R, E1, L, T]
Returns a new spec with remapped errors.
-
final
def
mapLabel[L1](f: (L) ⇒ L1): Spec[R, E, L1, T]
Returns a new spec with remapped labels.
-
final
def
mapTest[T1](f: (T) ⇒ T1): Spec[R, E, L, T1]
Returns a new spec with remapped tests.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
only[S, E1](s: String)(implicit ev1: <:<[L, String], ev2: <:<[E, TestFailure[E1]], ev3: <:<[T, TestSuccess[S]]): ZSpec[R, E1, String, S]
Runs only tests whose labels (which must be strings) contain the given substring.
Runs only tests whose labels (which must be strings) contain the given substring. If a suite label contains the specified string all specs in that suite will be included in the resulting spec.
-
final
def
provideManaged[E1 >: E](managed: Managed[E1, R])(implicit ev: NeedsEnv[R]): Spec[Any, E1, L, T]
Uses the specified
Managedto provide each test in this spec with its required environment. -
final
def
provideManagedShared[E1 >: E](managed: Managed[E1, R])(implicit ev: NeedsEnv[R]): Spec[Any, E1, L, T]
Uses the specified
Managedonce to provide all tests in this spec with a shared version of their required environment.Uses the specified
Managedonce to provide all tests in this spec with a shared version of their required environment. This is useful when the act of creating the environment is expensive and should only be performed once. -
final
def
provideSomeManaged[R0, E1 >: E](managed: ZManaged[R0, E1, R])(implicit ev: NeedsEnv[R]): Spec[R0, E1, L, T]
Uses the specified
ZManagedto provide each test in this spec with part of its required environment. -
final
def
provideSomeManagedShared[R0, E1 >: E](managed: ZManaged[R0, E1, R])(implicit ev: NeedsEnv[R]): Spec[R0, E1, L, T]
Uses the specified
ZManagedonce to provide all tests in this spec with a shared version of part of their required environment.Uses the specified
ZManagedonce to provide all tests in this spec with a shared version of part of their required environment. This is useful when the act of creating the environment is expensive and should only be performed once. -
final
def
size: ZIO[R, E, Int]
Computes the size of the spec, i.e.
Computes the size of the spec, i.e. the number of tests in the spec.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
transform[R1, E1, L1, T1](f: (SpecCase[R, E, L, T, Spec[R1, E1, L1, T1]]) ⇒ SpecCase[R1, E1, L1, T1, Spec[R1, E1, L1, T1]]): Spec[R1, E1, L1, T1]
Transforms the spec one layer at a time.
-
final
def
transformAccum[R1, E1, L1, T1, Z](z0: Z)(f: (Z, SpecCase[R, E, L, T, Spec[R1, E1, L1, T1]]) ⇒ (Z, SpecCase[R1, E1, L1, T1, Spec[R1, E1, L1, T1]])): ZIO[R, E, (Z, Spec[R1, E1, L1, T1])]
Transforms the spec statefully, one layer at a time.
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()