私はPythonでマルチプロセッシングアプリケーションを持っています。私はテストを実行した後、カバレッジレポートを取得しようとしています。私はカバレッジレポートをマージしようとしていますが、私はシングルショットではできません。ブランチカバレッジファイルを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
そして、私はラインカバレッジのために正しく組み合わせたレポートを取得することができています。
EDIT:
これは私がカバレッジ
coverage --rcfile=coverage_rc_file tester_script.py test1 test2
を得るために自分のアプリケーションを実行する方法上記のコマンドは二度私のアプリを実行し、4つのカバレッジファイルが生成されます。
その後、私は結果を結合するには、次のコマンドを実行します。
coverage combine
どのようにテストを実行しているかをカバレッジで表示できますか?なぜあなたは4回 "結合"を実行する必要がありますか? –
@NedBatchelder私は自分の答えを編集しました。見てください。 –
問題は、サブプロセスがあなたが使ったrcfileの名前を知らないということですか?あなたが ".coveragerc"と名づけば、すべてがうまくいくのですか? –