コメントで説明しているように、カバレッジ レポートには行番号のみが表示されるので、これらを何度も再確認する必要はありません。
一方で、どちらか一方のツールを満足させるためにコードをコメントで雑然とさせることにはあまり賛成ではありません。したがって、コードの乱雑さを回避しながら、常に再チェックを行う負担を取り除く別のアプローチを提案したいと思います。
アイデアは、将来のカバレッジ分析結果を比較できるカバレッジ状況のベースラインを作成することです。たとえば、coverage.py からのカバレッジ レポートは次のようになります ( http://coverage.readthedocs.org/en/coverage-4.0.3/index.htmlから引用)。
Name Stmts Miss Cover Missing
-------------------------------------------------------
my_program.py 20 4 80% 33-35, 39
my_other_module.py 56 6 89% 17-23
-------------------------------------------------------
TOTAL 76 10 87%
この出力は「ベースライン」の基礎として使用できます: 大まかなアイデア (改善については以下を参照) は、この出力を「受け入れられた」カバレッジ状況として保存し、将来のカバレッジ レポートと比較することです。残念ながら、行番号が変更されるたびに、レポートを比較すると相違点が表示されます。これを回避するには、この基本的な考え方を改善できます。
簡単なスクリプトを使用して、行番号の代わりに関連行の内容が表示されるようにレポートを変換できます。たとえば、上記のコード例に基づく架空のレポートは次のようになります。
Name Stmts Miss Cover Missing
-------------------------------------------------------
my_program.py 20 1 5% 3
このレポートから、Python バージョン >= 3.3 の次の「カバレッジ ベースライン」を、たとえば file に作成できますcoverage-baseline-33andabove.txt
。
my_program.py:
- print('older version of python')
このベースラインは、ファイルの先頭にインポート行などを追加しても同じように見えます。カバレッジを決定する他の Python バージョン用に、さらにベースライン ファイルが作成されます。
さらに可能な改善は、次のような行のグループを分離することです。
my_program.py:
*
- print('older version of python')
*
- cleanup()
- assert False
my_program2.py:
*
- print('older version of python')
カバーされていないコードが変更 (追加、削除、変更、移動) されたとき、およびファイル名が変更されたときにのみ違いが見られます。その後、差異が発生すると、新しい「カバレッジ ベースライン」を保存するか、元のベースライン コンテンツに再び到達するまでテストを追加する必要があります。