Как написать собственное сообщение об утверждении для утверждения на одно значение в Pytest? - PullRequest
0 голосов
/ 20 октября 2019

В pytest вы можете зарегистрировать ловушку для предоставления настраиваемого сообщения подтверждения через:

def pytest_assertrepr_compare(config, left, right, op):
    if isinstance(left, Foo) and isinstance(right, Foo):
        return ["Assert failed because Foo!"]

Это работает только для тестов вида:

assert Foo() == Foo()
assert 5 is 6
assert "char" in "mychar"
assert 10 > 20

и так далее. Он не работает для выражений с одним операндом:

assert Foo()
assert ProduceValue()

Можно ли написать ловушку, которая отображает пользовательское сообщение подтверждения, если assert вызывается с определенным значением? Мне не нужно, чтобы это происходило для всех значений, только когда оценивается определенный класс. Если есть альтернативный способ «провалить» тест с пользовательским утверждением, это тоже сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...