14

pytest を使用してコードのシステム テスト用のテスト ハーネスを作成しました。これらのテストは継続的インテグレーション システムで使用されるため、junit xml 出力オプションを使用しています。pytest による長い文字列の切り捨てが問題を引き起こしています。-vv オプションを使用して回避できることはわかっていますが、各テストの結果が読みにくい詳細な出力になります。基本的に、少なくともjunit xmlファイルで長い文字列の切り捨てを防ぐ別の方法が必要です。コンソール出力でも機能する場合、それはより良いことですが、必須ではありません.

私たちのコードは多数の値を含むレポートを生成し、その出力を正しいことがわかっている一連の出力と比較します。最初のエラーだけでなく、エラーになっているすべてのフィールドを報告しています。そのため、文字列ごとに 1 つのエラーを含む文字列のリストを生成しています。次に、文字列を改行で結合して、すべてのエラーを含む 1 つの長い文字列と長い文字列を作成します。アサーションが失敗した場合、数百行になる可能性がある文字列の内容全体を確認する必要があります。

errors = []
error.extend(get_report_errors())
s = '\n'.join(errors)
assert (s == '')

助言がありますか

私は python 2.6 と 2.7 と pytest 2.3.5 を使用しています。必要な pytest のバージョンをアップグレードできます。

4

3 に答える 3