有没有办法在布尔 ZIO 测试中添加描述性断言消息

Is there a way to add a descriptive Assert message in a Boolean ZIO Test

我有几个Booleans我想测试一下,比如

assert(g8Exists, equalTo(true)) &&
assert(projectExists, equalTo(true)) &&
assert(testenvExists, equalTo(true)) ...

如果失败,我得到的是:

false did not satisfy equalTo(true)

不知道哪条线失败了。有没有办法可以添加描述性断言消息。例如:

assert(g8Exists, equalTo(true), "g8Exists")

或首选:

assertTrue(g8Exists, "g8Exists")

会导致

false did not satisfy equalTo(true) - g8Exists

或者是否有更好的方法来测试 Booleans 一般情况?

是的!为此,您可以在 Assertion 或其符号别名 ?? 上使用 label 方法。

assert(g8Exists, isTrue ?? "g8Exists") &&
assert(projectExists, isTrue ?? "projectExists") &&
assert(testenvExists, isTrue ?? "testenvExists")

假设第一个断言失败,您会收到一条很好的错误消息,准确指出哪个断言失败。

false did not satisfy isTrue()
false did not satisfy (isTrue() ?? "g8Exists")