Groovy 'assert': как отобразить значение?
Как отобразить значение, является ли оно true или false в groovy? Я использую Eclipse в качестве своей IDE.
assert 4 * ( 2 + 3 ) - 6 == 14 //integers only
а также я не понимаю "утверждать" слишком хорошо в Groovy. Это похоже на Оператор if () / boolean в Java?
какую роль "assert" играет в Groovy?
3 ответов
утверждение подобно 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"
...
}
Groovy утверждает, что теперь довольно впечатляет! Они фактически распечатают значение каждой переменной в операторе (что является фантастическим для отладки)
например, он может напечатать что-то вроде этого, если b-5, a - {it^2} и c-15:
assert( a(b) == c)
. | | | |
. 25 | != 15
. 5
(Ну...что-то вроде этого-Groovy, вероятно, будет выглядеть намного лучше).
Если бы мы могли просто получить такую распечатку в строке исключения...