std.assert
Модуль утверждений. Самый часто используемый инструмент в тестах и примерах.
yaoxiang
use std.assertСписок функций
| Функция | Сигнатура |
|---|---|
assert | (cond: Bool, ?msg: String) -> Void |
Функции
assert
yaoxiang
assert: (cond: Bool, ?msg: String) -> VoidУтверждает, что cond истинно.
cond— проверяемое булево выражениеmsg— необязательное сообщение,?означает, что его можно опустить; при невыполнении условия выводится вместе с диагностикой
Возврат: при выполнении условия возвращает Void, выполнение не прерывается. Ошибка: при ложном условии выбрасывается E6005 (сбой утверждения), программа завершается с ненулевым кодом.
yaoxiang
use std.assert
main: () -> Void = {
assert(1 > 0)
assert(1 > 0, "этот литеральный assert обязательно выполняется")
}Утверждение — основное средство проверки в тестовых корпусах — src/std/tests/*.yx и tests/yaoxiang/** работают по принципу: если assert завершается ошибкой, процесс сообщает об ошибке:
yaoxiang
use std.assert
use std.list
main: () -> Void = {
list.len([1, 2, 3]) == 3
assert(list.len([1, 2, 3]) == 3, "len == 3")
}Связанные материалы
- Спецификация тестов — организация корпусов и соглашения о проверке
- Справочник по кодам ошибок —
E6005сбой утверждения
