package scalatest
Ordering
- Alphabetic
Visibility
- Public
- Protected
Type Members
- trait AssertCIO extends AnyRef
scalatest assertion macro for cats.effect.IO
- trait AssertIO2[F[+_, +_]] extends AnyRef
scalatest assertion macro for any izumi.functional.bio.IO2
- trait AssertIO3[F[-_, +_, +_]] extends AnyRef
scalatest assertion macro for any izumi.functional.bio.IO3
- trait AssertSync[F[_]] extends AnyRef
scalatest assertion macro for any cats.effect.kernel.Sync
- trait AssertZIO extends AnyRef
scalatest assertion macro for zio.ZIO
- abstract class Spec1[F[_]] extends DistageScalatestTestSuiteRunner[F] with DistageAbstractScalatestSpec[F]
- abstract class Spec2[F[+_, +_]] extends DistageScalatestTestSuiteRunner[[β$0$]F[Throwable, β$0$]] with DistageAbstractScalatestSpec[[β$1$]F[Throwable, β$1$]]
- abstract class Spec3[FR[-_, +_, +_]] extends DistageScalatestTestSuiteRunner[[γ$0$]FR[Any, Throwable, γ$0$]] with DistageAbstractScalatestSpec[[γ$1$]FR[Any, Throwable, γ$1$]]
Allows summoning objects from DI in tests via ZIO environment intersection types
Allows summoning objects from DI in tests via ZIO environment intersection types
trait PetStore[F[_, _]] { def purchasePet(name: String, cost: Int): F[Throwable, Boolean] } trait Pets[F[_, _]] def myPets: F[Throwable, List[String]] } type PetStoreEnv = Has[PetStore[IO]] type PetsEnv = Has[Pets[IO]] val store = new PetStore[ZIO[PetStoreEnv, _, _]] { def purchasePet(name: String, cost: Int): RIO[PetStoreEnv, Boolean] = ZIO.accessM(_.get.purchasePet(name, cost)) } val pets = new Pets[ZIO[PetsEnv, _, _]] { def myPets: RIO[PetsEnv, List[String]] = ZIO.accessM(_.get.myPets) } "test purchase pets" in { for { _ <- store.purchasePet("Zab", 213) pets <- pets.myPets _ <- assertIO(pets.contains("Zab")) } yield () // : ZIO[PetStoreEnv with PetsEnv, Throwable, Unit] }
Lambda parameters and environment may both be used at the same time to define dependencies:
"test purchase pets" in { (store: PetStore[IO]) => for { _ <- store.purchasePet("Zab", 213) pets <- pets.myPets _ <- assertIO(pets.contains("Zab")) } yield () // : ZIO[PetsEnv, Throwable, Unit] }
- abstract class SpecIdentity extends Spec1[Identity]
- abstract class SpecWiring[AppMain <: CheckableApp, Cfg <: Any] extends Spec1[scalatest.SpecWiring.AppMain.AppEffectType] with WiringAssertions
- trait WiringAssertions extends AnyRef