scala
import zio._
import zio.test.Assertion._
import zio.test._
object MyTestSpec extends DefaultRunnableSpec {
def spec = suite("MyTestSuite")(
test("Test assertion") {
assert(2 + 2)(equalTo(4))
}
)
}
scala
import zio._
import zio.test.Assertion._
import zio.test._
object MyTestSpec extends DefaultRunnableSpec {
def spec = suite("MyTestSuite")(
testM("Test environment dependency") {
for {
result <- Service.doSomething.provide(Service.mock)
} yield assert(result)(equalTo(42))
}
)
}
scala
import zio._
import zio.test.Assertion._
import zio.test._
object MyTestSpec extends DefaultRunnableSpec {
def spec = suite("MyTestSuite")(
testM("Test effect with side-effects") {
for {
result <- ZIO.effectTotal(println("Side-effect"))
} yield assert(result)(equalTo(()))
}
)
}
scala
import zio._
import zio.test.Assertion._
import zio.test._
object MyTestSpec extends DefaultRunnableSpec {
def spec = suite("MyTestSuite")(
testM("Test property") {
checkM(Gen.int(1, 100)) { input =>
for {
result <- ZIO.effectTotal(input * 2)
} yield assert(result)(equalTo(input * 2))
}
}
)
}