RSS惑星Python

Ned Batchelder: Coverage.py の正規表現プラグマ

Coverage.py は、Python ファイル内のコメントを使用してコードの測定対象から除外することを可能にします。他のツールとは異なり、これらの除外にはカスタマイズ可能な正規表現を使用します。この正規表現ベースのアプローチは、単純なコメントマーカーを超えた柔軟性を可能にする、驚くほど強力であることが証明されています。これらの正規表現に一致する行は、複数行のステートメントやブロックとともに、カバレッジチェックから除外されます。当初は基本的なプラグマを対象としていましたが、このシステムは `__repr__` メソッドをすべて自動的に無視するなど、プラグマなしでの除外も容易にしました。このシステムの強力さは、covdefaults や coverage-conditional-plugin のようなサードパーティ製プラグインによってさらに増幅されました。大幅な機能強化により、正規表現が複数行のパターンに一致できるようになり、除外機能に革命をもたらしました。この変更により、単一の正規表現パターンを使用してファイル全体を除外するなどの機能が可能になりました。別の新しい機能により、特定の開始および終了区切り文字間のコードを除外できるようになりました。しかし、この正規表現の柔軟性には限界があり、プラグマテキストを含む文字列リテラルなどのケースには苦労しています。特定のパターンには複雑な正規表現が必要になることがありますが、それでも誤検出につながる可能性があります。これらの制限にもかかわらず、正規表現アプローチは、実際のコードに対して、柔軟性、強力さ、および実用的な使いやすさの良好なバランスを提供します。
favicon
nedbatchelder.com
Ned Batchelder: Coverage.py regex pragmas
Create attached notes ...