Kotlin 中的私有函数和 null 安全运算符测试

Private function and null safe operator testing in Kotlin

我正在努力提高测试覆盖率,但我对一些被视为“未覆盖”或“仅部分覆盖”的行感到困惑,例如:

400 -> throw BadRequestException(response.code(), response.errorBody()?.string())

if (response.code() !in 200..299) {
      throwError(response)
}

throwError 是一个私有函数。我正在测试,响应代码 204 表示成功事件,响应代码 400 表示抛出正确的错误。但是如何检查是否调用了 throwError?

另外,当我检查抛出BadRequestException错误时,为什么只满足1或2个条件?

第一种情况,两个条件应该是:

  1. response.errorBody()null
  2. response.errorBody() 不是 null

所以你需要把两者都覆盖起来才能完全覆盖。