Ответ 1
Утверждение похоже на if, оно проверяет выражение, которое вы предоставляете: если выражение истинно, оно продолжает выполнение для следующего оператора (и ничего не печатает), если выражение ложно, оно вызывает AssertionError.
Вы можете настроить сообщение об ошибке, предоставляющее сообщение, разделенное двоеточием, следующим образом:
assert 4 * ( 2 + 3 ) - 5 == 14 : "test failed"
который будет печатать:
java.lang.AssertionError: test failed. Expression: (((4 * (2 + 3)) - 5) == 14)
но мне пришлось изменить значения вашего теста, чтобы он не сработал.
Использование утверждений зависит от вашего вкуса: вы можете использовать, чтобы утверждать что-то, что должно быть истинным, прежде чем приступать к работе (см. дизайн по контракту).
например. функция, для которой требуется постовое число для работы, может проверить, что аргумент положителен, делая утверждение как первое утверждение:
def someFunction(n) {
assert n > 0 : "someFunction() wants a positive number you provided $n"
...
}