Python BDD機能テストからBUSOWを使用してコードカバレッジデータを取得するにはどうすればよいですか。

StackOverflow https://stackoverflow.com//questions/23019740

質問

この特定の質問に対する答えを見ていない(テストカバレッジツールTeaSave Test Framework の場合は、Googleの検索結果が十分な答えを生み出していません。したがって...

どのようにコードカバレッジレポートがBexaveから入手できますか?私はBDD方法論を使用しているPython開発者がいないと信じるのは難しいと思います。また、BDDを使用しているPython開発者が機能テストからコードカバレッジ統計がないと信じることがさらに難しいと思います。Coverage.pyを使用してコードカバレッジを生成するために動作するのに使われますか?

役に立ちましたか?

解決

BASOWの使い方がわかりませんが、 cucumber はおそらくほぼ類似していると思います。それで、私はあなたがカバレッジで行動することができるべきだと思います。ファイルに含めるファイルを指定する必要があります。(キュウリで使用しました)。このが役立つ可能性があるかどうかを確認してください。

これがあなたの質問に答えてください:)

# .coveragerc to control coverage.py
[run]
parallel = True

# if you want to include tests append tests/*
include =
    src/*
    *src*

[paths]
source =
    src/
    */src

tests =
    tests/
    */tests
.

他のヒント

Davidの上記の提案からのフォロー中。

テストするコードをAppディレクトリにあると仮定して、 .coveragerc file:

に次のものを追加します。
[run]
source=app/
.

端子から:

coverage run $(which behave);
.

通常としてカバレッジレポートまたはカバレッジHTMLを使用できます。 .coveragerc ファイルにApp Dirを指定しないと、CoverageはあなたのBehogaveインストールのローカルのすべてのPythonライブラリをテストします。

Bakaveは、JUnitカバレッジデータを生成し、カバレッジパッケージを複数のテスト実行からまとめることができます。 CI環境で閲覧または自動的に公開できるHTMLレポートを作成します。

ここで私が現在行われたカバレッジの作成、結合、および報告に現在使用されているステートメント:

cd your/repo/tests  # <-- Make sure you're inside your tests dir!
rm -rf behave-reports/*
behave --junit --junit-directory behave-reports
coverage combine
coverage html
.

rm -rf behave-reports/*は、Behave-Reports / Directory内のすべてを強制的に削除して、新鮮なカバレッジレポートまたはまったく何もありません(私の場合はCIの障害を生じさせる)。テストをローカルで実行した場合、テスト結果を追加してコミットしていないように、.gitignoreファイルにエントリを追加し(または同等)ことをお勧めします。

--junitを使用したRuning SurpeSury --junit-directoryフラグは、そのジュニティ出力がディスク上のそのジュニットデータを書き込む場所を指示する。

coverage combineの実行はすべてのコードカバレッジを食べ、それを単一のカバレッジファイルにまとめます。

最後に、coverage htmlは、結合されたすべてのカバレッジデータを含むかわいいHTMLレポートを生成します。

もう1つのオプションで、Coverageを使用して動作を実行するメインスクリプト:

coverage run /path/to/lib/python2.7/site-packages/behave/__main__.py
.

もちろん、含めるソースファイルを.coveragercで指定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top