【发布时间】:2020-04-19 10:47:40
【问题描述】:
假设我有这样的代码:
final case class CustomException(errorCode: Int, id: UUID) extends Throwable
val logic: ZIO[Any, Throwable, Unit] = ???
我想使用 ZIO Test 来检查特定的错误情况
val checkForTimeout = testM("Logic should time out") {
for {
result <- logic.flip
} yield assert(result, isSubtype[CustomException](???))
}
我想做的是检查errorCode 字段中的特定值。但似乎 ZIO Test 中现有的组合器只允许我检查完整的对象。
我只想检查_.errorCode 而忽略_.id,这意味着equalTo 对于这个用例来说不是一个足够好的组合器。
我将如何解决这个问题?
【问题讨论】: