GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Test-Coverage.html ・ emacs-doc.conao3.com

19.4 テストカバレッジ

testcover ライブラリをロードし、M-x testcover-start RET file RET コマンドでコードにインストルメンテーションを施すことで、Lisp コードファイルのカバレッジテストを行うことができます。次に、コードを1回以上呼び出してテストします。その後、M-x testcover-mark-all コマンドを使用してコード上に色付きのハイライトを表示し、カバレッジが不十分な箇所を確認します。M-x testcover-next-mark コマンドを使用すると、ポイントが次のハイライト箇所へ移動します。

通常、赤色のハイライトはフォームが完全に評価されなかったことを示し、茶色のハイライトは常に同じ値に評価されたことを意味します(つまり、結果の扱いに関する検証がほとんど行われていないということです)。ただし、errorのように評価を完了させることが不可能なフォームでは、赤色のハイライトは省略されます。また、(setq x 14)のように常に同じ値に評価されると想定されるフォームでは、茶色のハイライトは省略されます。

対応が難しいケースでは、コードに何もしないマクロを追加することで、テストカバレッジツールにアドバイスを与えることができます。

マクロ: 1value form

formを評価してその値を返しつつ、カバレッジテストにはformの値が常に同一であるべきことを伝えてください。

マクロ: noreturn form

form を評価し、form が決して返り値を返さないことをカバレッジテストに通知します。万が一返り値を返した場合は、実行時エラーが発生します。

Edebugにはカバレッジテスト機能もあります(カバレッジテストを参照)。これらの機能は一部重複しており、統合した方がすっきりするでしょう。