Вы можете выполнять тестирование покрытия для файла кода Lisp, загрузив библиотеку
testcover и используя команду M-x
testcover-start RET file RET для инструментации
кода. Затем протестируйте свой код, вызвав его один или несколько раз. Затем используйте
команду M-x testcover-mark-all для отображения цветных выделений
в коде, показывающих, где покрытие недостаточно. Команда
M-x testcover-next-mark переместит курсор вперед к следующему
выделенному месту.
Обычно красное выделение указывает на то, что форма никогда не была полностью
вычислена; коричневое выделение означает, что она всегда вычислялась в одно и то же
значение (что означает, что тестирование того, что делается с результатом, было
незначительным). Однако красное выделение пропускается для форм, которые
потенциально не могут завершить вычисление, например error.
Коричневое выделение пропускается для форм, которые ожидается, что всегда
будут вычисляться в одно и то же значение, например (setq x 14).
Для сложных случаев вы можете добавить макросы do-nothing в свой код, чтобы дать совет инструменту тестирования покрытия.
Вычислить form и вернуть его значение, но сообщить тестированию покрытия, что значение form всегда будет одинаковым.
Вычислить form, сообщив тестированию покрытия, что form никогда не должен возвращать значение. Если он когда-либо возвращает значение, вы получите ошибку во время выполнения.
Edebug также имеет функцию тестирования покрытия (см. Тестирование покрытия). Эти функции частично дублируют друг друга, и было бы чище их объединить.