testcover ライブラリをロードし、M-x
testcover-start RET file RET コマンドでコードにインストルメンテーションを施すことで、Lisp
コードファイルのカバレッジテストを行うことができます。次に、コードを1回以上呼び出してテストします。その後、M-x
testcover-mark-all コマンドを使用してコード上に色付きのハイライトを表示し、カバレッジが不十分な箇所を確認します。M-x testcover-next-mark コマンドを使用すると、ポイントが次のハイライト箇所へ移動します。
通常、赤色のハイライトはフォームが完全に評価されなかったことを示し、茶色のハイライトは常に同じ値に評価されたことを意味します(つまり、結果の扱いに関する検証がほとんど行われていないということです)。ただし、errorのように評価を完了させることが不可能なフォームでは、赤色のハイライトは省略されます。また、(setq x 14)のように常に同じ値に評価されると想定されるフォームでは、茶色のハイライトは省略されます。
対応が難しいケースでは、コードに何もしないマクロを追加することで、テストカバレッジツールにアドバイスを与えることができます。
formを評価してその値を返しつつ、カバレッジテストにはformの値が常に同一であるべきことを伝えてください。
form を評価し、form が決して返り値を返さないことをカバレッジテストに通知します。万が一返り値を返した場合は、実行時エラーが発生します。
Edebugにはカバレッジテスト機能もあります(カバレッジテストを参照)。これらの機能は一部重複しており、統合した方がすっきりするでしょう。