小编Tim*_*ach的帖子

如何断言错误类型中的单个字段?

假设我有这样的代码:

final case class CustomException(errorCode: Int, id: UUID) extends Throwable

val logic: ZIO[Any, Throwable, Unit] = ???
Run Code Online (Sandbox Code Playgroud)

我想使用 ZIO Test 来检查特定的错误情况

val checkForTimeout = testM("Logic should time out") {
  for {
    result <- logic.flip
  } yield assert(result, isSubtype[CustomException](???))
}
Run Code Online (Sandbox Code Playgroud)

我想做的是检查该errorCode字段的特定值。但 ZIO Test 中现有的组合器似乎只允许我检查完整的对象。我只想_.errorCode在忽略时检查_.id,这意味着equalTo对于这个用例来说不是一个足够好的组合器。

我该如何解决这个问题?

scala zio zio-test

2
推荐指数
1
解决办法
518
查看次数

标签 统计

scala ×1

zio ×1

zio-test ×1