11

py.test assert docsは言う

...次のようなアサーションでメッセージを指定すると:

assert a % 2 == 0, "value was odd, should be even"

その場合、アサーション イントロスペクションはまったく行われず、メッセージは単にトレースバックに表示されます。

Pythonの組み込みunittestモジュールもこれを行います。TestCaselongMessage = True

優れた assert の書式設定はテスト開発者にとって使いやすく、カスタム メッセージはよりビジネス要件や人間にとって使いやすいものです。カスタム メッセージは、テストのコンテキストにいない場合に特に役立ちます。つまり、コードを見なくても、アサートがそこで何をしているかに応答します。だから、私は両方のメッセージが欲しいです。

py.test の素敵なアサート イントロスペクションとフォーマットを取得し、カスタム メッセージを出力する方法はありますか?

4

2 に答える 2

2

現在、アサーションの追加情報とメッセージを有効にする方法はありません。追加できると思いますが、どれだけの労力が必要かはわかりません。これまでのところ、この問題は私の知るところではありません。お気軽に問題を報告するか、プル リクエストをお試しください。ただし、人間が判読できるカスタム メッセージを作成する努力をすれば、式からいくつかの興味深い値を入れることもできることに注意してください。

于 2013-10-13T14:32:16.660 に答える