Scala 理解:在单元测试中,使用Reader不完整地编写步骤
我有一个单元测试的无标记最终实现,当我运行单元测试时,只调用第一步,而不调用其余步骤 以下是测试目标:Scala 理解:在单元测试中,使用Reader不完整地编写步骤,scala,functional-programming,scala-cats,for-comprehension,reader-monad,Scala,Functional Programming,Scala Cats,For Comprehension,Reader Monad,我有一个单元测试的无标记最终实现,当我运行单元测试时,只调用第一步,而不调用其余步骤 以下是测试目标: class NameThing[F[_]: Monad](implicit console: Console[F]) { def program: F[Unit] = for { _ <- console.prompt rawName <- console.read fullName = parse(rawName) _ <- conso
class NameThing[F[_]: Monad](implicit console: Console[F]) {
def program: F[Unit] = for {
_ <- console.prompt
rawName <- console.read
fullName = parse(rawName)
_ <- console.display(fullName)
} yield ()
def parse(rawName:String):FullName = {
val parts = rawName.split(" ")
FullName(parts(0), parts(1))
}
}
我只看到ok1显示
请在此处完成代码:尝试
new NameThing[Test]().program.run(TestEnv())
new NameThing[Test].program.run只是一个TestEnv=>单元,其中.run是Kleisli的run,您应该在TestEnv上调用它来实际运行程序。Try
new NameThing[Test]().program.run(TestEnv())
new NameThing[Test].program.run只是一个TestEnv=>单元,其中.run是Kleisli的run,您应该在TestEnv上调用它来实际运行程序