Python でマルチプロセッシング アプリケーションを使用しています。そして、テストを実行した後にカバレッジ レポートを取得しようとしています。カバレッジ レポートをマージしようとしていますが、一度に行うことができません。
以下は私が直面している問題です。2 つのテストで 4 つのカバレッジ ファイルが生成されました。コマンド「カバレッジ結合」を実行すると、次のエラーが表示されます。
Can't combine line data with arc data
カバレッジ ファイルをマージするには、「カバレッジ結合」コマンドを 4 回実行する必要があります。しかし、さらに多くのテストを追加する予定であり、レポートを組み合わせることがさらに難しくなります。
では、すべてのカバレッジ レポートを一度にまとめるにはどうすればよいでしょうか。
PS: 構成ファイルを次のように設定しました。
[run]
branch = True
parallel = True
concurrency = multiprocessing
[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover
また、ライン カバレッジについて正しく結合されたレポートを取得できます。
編集:
これは、アプリケーションを実行してカバレッジを取得する方法です
coverage --rcfile=coverage_rc_file tester_script.py test1 test2
上記のコマンドはアプリを 2 回実行し、4 つのカバレッジ ファイルを生成します。
次に、次のコマンドを実行して結果を結合します。
coverage combine