Как отключить трассировку стека в AVA и показать мои собственные сообщения об ошибках при ошибке - PullRequest
0 голосов
/ 17 апреля 2020

Я использую ava для проверки моего интерпретатора Scheme в JavaScript, и я не хочу, чтобы в каждом ошибочном утверждении были трассировки стека, я хотел бы иметь, возможно, собственный репортер, который будет показывать, какой тест не пройден и почему, а не отображаться. ошибка, которая обычно указывает на одну и ту же строку в оценщике.

Я могу легко написать функцию, которая будет отображать неудачные тесты (я могу написать макрос, который покажет, какое выражение было проверено), но я не могу избавиться от довольно большого трассировка стека JavaScript кода, который не имеет отношения к делу. Я хотел бы иметь трассировку стека, только если мое JavaScript исключение выброса кода.

Я не уверен, но я думаю, что t.is выдает исключение, когда оно не удалось. Я хочу сообщить своим тестам, что они не проходят, но не выдают никаких исключений, если только у меня не будет ловушки, которая будет показывать трассировку стека схемы, а не JavaScript один.

enter image description here

Здесь у меня есть сообщение, которое показывает, что утверждение не удалось (string<? "123" "123"), которое должно вернуть #t в соответствии с spe c. И выделенный код - это просто вызов функции. Почти все является функцией (например, (string? "foo"))

Я использую Ava, поэтому мне не нужно писать свою собственную платформу, для написания которой потребуются недели. Также у Ava есть покрытие кода, и мой проект JavaScript, даже если мои тесты в Схеме.

1 Ответ

0 голосов
/ 18 апреля 2020

Вы выделили то, что должно быть источником неудачи теста, а не слишком длинную трассировку стека. Если у вас есть небольшая репродукция, было бы хорошо, если бы вы могли открыть проблему GitHub. Хотя мы не хотим, чтобы параметр отключал отображение сбоя, мы также не должны отображать глупости.

...