私は次のように書いています。Unicodeテキストの2つの複数行ブロックを比較するときに、まともなエラーメッセージを生成しようとしています。比較を行う内点法はアサーションを発生させますが、デフォルトの説明は私には役に立ちません
以下のようなコードに何かを追加する必要があります。
def assert_long_strings_equal(one, other):
lines_one = one.splitlines()
lines_other = other.splitlines()
for line1, line2 in zip(lines_one, lines_other):
try:
my_assert_equal(line1, line2)
except AssertionError, error:
# Add some information to the printed result of error??!
raise
キャッチしたassertionerrorに出力されたエラーメッセージを変更する方法がわかりません。私は常にAssertionError: u'something' != 'something else'
、出力の最初の行のみを表示するを取得します。
アサーションメッセージを変更して、必要なものをすべて印刷するにはどうすればよいですか?
nose
関連する場合は、テストの実行に使用しています。