Тестирование покрытия
Вы можете провести тестирование покрытия для файла кода Lisp, загрузив библиотеку testcover и используя команду M-x testcover-start RET file RET для инструментации кода. Затем протестируйте свой код, вызвав его один или несколько раз. Затем используйте команду M-x testcover-mark-all для отображения цветных выделений в коде, показывающих места, где покрытие недостаточно. Команда M-x testcover-next-mark переместит курсор к следующей выделенной позиции.
Обычно красное выделение указывает, что форма никогда полностью не вычислялась; коричневое выделение означает, что она всегда вычислялась до одного и того же значения (что означает, что было проведено мало тестирования того, что делается с результатом). Однако красное выделение пропускается для форм, которые не могут завершить свое вычисление, таких как error. Коричневое выделение пропускается для форм, которые, как ожидается, всегда будут вычисляться до одного и того же значения, таких как (setq x 14).
В сложных случаях можно добавить макросы бездействия в свой код, чтобы дать советы инструменту для тестирования покрытия.
- Макрос: 1value форма
Вычислить форма и вернуть его значение, но сообщить тесту покрытия, что значение форма должно всегда быть одинаковым.
- Макрос: noreturn форма
Вычислить форма, сообщив тесту покрытия, что форма никогда не должна возвращать значение. Если она когда-либо вернёт значение, произойдёт ошибка выполнения.
Edebug также имеет функцию тестирования покрытия (см. Тестирование покрытия). Эти функции частично дублируют друг друга, и было бы чище объединить их.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Test-Coverage.html