Py.test: format failed assert И распечатать собственное сообщение

py.test утвердить документы говорят

... если вы укажете сообщение с таким утверждением:

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

то никакого утверждения интроспекция имеет место вообще, и сообщение будет просто показано в трассировке.

Модуль python builtin unittest делает это тоже, , если ваш TestCase не устанавливает longMessage = True.

Наличие хорошего утверждения форматирования - это тест, дружественный к разработчику, в то время как пользовательское сообщение больше подходит для бизнеса/человека. Специальное сообщение особенно полезно, когда вы не находитесь в контексте теста, то есть он отвечает на то, что делает это утверждение, без необходимости смотреть на код. Итак, я хотел бы иметь оба сообщения.

Есть ли способ получить py.test nice assert introspection и форматирование И распечатать собственное сообщение?

Ответ 1

В настоящее время нет возможности включить дополнительную информацию плюс плюс сообщение. Я думаю, это можно добавить, но не уверен, сколько усилий требуется. Пока этот вопрос мне неизвестен. Не стесняйтесь регистрировать проблему или попробовать запрос на перенос. Обратите внимание, однако, что если вы попытаетесь написать обычное человеко-читаемое сообщение, возможно, вы также можете добавить некоторые интересные значения из выражения.