Я использую ava для проверки моего интерпретатора Scheme в JavaScript, и я не хочу, чтобы в каждом ошибочном утверждении были трассировки стека, я хотел бы иметь, возможно, собственный репортер, который будет показывать, какой тест не пройден и почему, а не отображаться. ошибка, которая обычно указывает на одну и ту же строку в оценщике.
Я могу легко написать функцию, которая будет отображать неудачные тесты (я могу написать макрос, который покажет, какое выражение было проверено), но я не могу избавиться от довольно большого трассировка стека JavaScript кода, который не имеет отношения к делу. Я хотел бы иметь трассировку стека, только если мое JavaScript исключение выброса кода.
Я не уверен, но я думаю, что t.is выдает исключение, когда оно не удалось. Я хочу сообщить своим тестам, что они не проходят, но не выдают никаких исключений, если только у меня не будет ловушки, которая будет показывать трассировку стека схемы, а не JavaScript один.
Здесь у меня есть сообщение, которое показывает, что утверждение не удалось (string<? "123" "123")
, которое должно вернуть #t в соответствии с spe c. И выделенный код - это просто вызов функции. Почти все является функцией (например, (string? "foo")
)
Я использую Ava, поэтому мне не нужно писать свою собственную платформу, для написания которой потребуются недели. Также у Ava есть покрытие кода, и мой проект JavaScript, даже если мои тесты в Схеме.