同じ方法で、同じ方法でアサートイントロスペクションをPythonで実行する方法を検討しています。that py.test
does。たとえば...Pythonでアサートイントロスペクションを実行する方法
>>> a = 1
>>> b = 2
>>> assert a == b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError # <--- I want more information here, eg 'AssertionError: 1 != 2'
は私がpy.code
ライブラリhas some functionality around thisことを確認し、私はまたsys.excepthook
はあなたが例外に好きな振る舞いをプラグインすることができますが、どのようにそれは私にははっきりしていないことを指摘し、this answerを見てきましたすべて一緒に置く。あなたは詳細なエラーメッセージ
def assertion(a,b):
try:
assert a==b
except AssertionError as e:
e.args += ('some other', 'information',)
raise
a=1
b=2
assertion(a,b)
にこのコードを表示したい場合は、このような何かを行うことができ
'pytest'自体を使用しないのはなぜ? – pylang
@pylang py.testの部分を再利用することは問題ありませんが、py.test自体を使うことはできません。私の質問の目的のために、私はあなたが例えば仮定すべきだと言う。この文脈で実際にテストを実行しているわけではありません。 –