2012-03-21 10 views
4

は、以下のコード(conftest.py)を使用してみましょう:junitxmlを使ってpytestでデータの結果を収集するには?

import random 
def test_val(): 
    value = random.random() 
    assert value < 0.5 

py.test --junitxml=result.xml conftest.pyを実行(テストを通過したとき)result.xmlを生成します。今すぐ

<?xml version="1.0" encoding="utf-8"?> 
<testsuite errors="0" failures="0" name="" skips="0" tests="1" time="0.047"> 
<testcase classname="conftest" name="test_val" time="0.0"/> 
</testsuite> 

。私ができるようにしたいのはtest_val()によって生成された値をresults.xmlに保存することです。それを行う方法はありますか? pytest docに関連するものが見つからないようです。

+0

ユニットテストの古い問題かもしれません。テストは合格するか失敗するか - 他には何もありません: - そして、失敗の場合にのみ、メッセージが考慮されます。 – Alfe

+0

これは非常に残念です:( –

+0

最初のケースでは、テストが失敗した場合、py.test出力に実際の結果が得られます。また、ジェンキンズを使ってpy.testを実行し、レポートをいくつか取得します –

答えて

3

出荷されたjunitxmlプラグインには、このようなデータを追加するフックはありません これはjunitxmlデータに追加されるため、stdoutに出力することができます。

ログを印刷する限り、少なくともデータを知ることができます。

関連する問題