Есть ли способ добавить описательное сообщение Assert в логический тест ZIO?

У меня есть пара Booleans Хочу протестировать, нравится

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

В случае неудачи все, что я получаю, это:

false did not satisfy equalTo(true)

Не знаю, какая строка вышла из строя. Есть ли способ добавить описательное сообщение Assert. Например:

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

Или предпочтительнее:

assertTrue(g8Exists, "g8Exists")

Приведет к

false did not satisfy equalTo(true) - g8Exists

Или есть лучший способ проверить Booleans В основном?

1 ответ

Решение

Да! Вы можете использоватьlabel метод на Assertion или его символический псевдоним ?? для этого.

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

Если предположить, что первое утверждение не выполнено, вы получите красивое сообщение об ошибке, в котором точно указано, какое утверждение не удалось.

false did not satisfy isTrue()
false did not satisfy (isTrue() ?? "g8Exists")
Другие вопросы по тегам