結果として、プロジェクト全体のドキュメントを使用してコードのカバレッジ率を推定できるDocstringカバレッジツールを入手しました(少なくとも私にとっては:))。
次のように始まります:
docstring-coverage [] < >
出力例:
$ docstring-coverage docstring-coverage/ File docstring-coverage/setup.py - No module dostring! Needed: 1; Exist: 0; Missing: 1; Coverage: 0.0% File docstring-coverage/docstringcoverage/__init__.py - No module dostring! Needed: 1; Exist: 0; Missing: 1; Coverage: 0.0% File docstring-coverage/docstringcoverage/cover.py - No docstring for DocStringCoverageVisitor! - No docstring for DocStringCoverageVisitor.__init__! - No docstring for DocStringCoverageVisitor.visitModule! - No docstring for DocStringCoverageVisitor.visitClass! - No docstring for DocStringCoverageVisitor.visitFunction! - No docstring for DocStringCoverageVisitor.getResult! - No docstring for get_docstring_coverage.printDocstring! Needed: 11; Exist: 4; Missing: 7; Coverage: 36.4% Overall statistics for 3 files: Docstrings needed: 13; Docstrings exist: 4; Docstrings missing: 9 Total docstring coverage: 30.8%; Grade: not so good
オプションの中には-mがあり、ユーティリティが__magic__ pythonおよび-vメソッドを強制的にスキップします。これにより、出力の「おしゃべり」レベルを0から3に調整できます。
必要に応じて、カバレッジの統計を取得するために使用する作業ドラフトにインポートできます。
import docstringcoverage cover_results = docstringcoverage.get_docstring_coverage(['somefolder/somefile.py'])
dict型の2つの要素を含むリストとして提案されます。
[ {'< >': { 'missing': ["< , ","..."], 'module_doc': <True or False>, # 'missing_count': <missing_count>, # 'needed_count': <needed_docstrings_count>, # 'coverage': <percent_of_coverage>, # 'empty': <True or False> #True, #( , , ) }, ... }, # { 'missing_count': <total_missing_count>, 'needed_count': <total_needed_docstrings_count>, 'coverage': <total_percent_of_coverage>, }
例付きのドキュメントはすべてプロジェクトページにあります。