Можно ли включить оператор pytest assert внутри обратного вызова MQTT on_message? - PullRequest
0 голосов
/ 16 апреля 2019

Я хочу сгенерировать тест (pytest), чтобы проверить, равно ли полученное сообщение определенному значению.

Средой является python 3.6.8, pytest 4.1.1 и paho-mqtt 1.4.0

Я написал простой тест, в котором мои первые строки кода предназначены для генерации клиента, на который я подписываюсь на определенную тему, и он также имеет обратный вызов on_message внутри.

Функция правильно вызывается, когда я публикую что-то в этой теме, но оператор assert (который я вынужден завершить с ошибкой) не делает тест неудачным, вместо этого он генерирует исключение, которое он выполняет.автоматически захватывается кодом.

def test_fake():

    def on_message(client, userdata, message):
        assert False

Тест должен был быть неудачным, но вместо этого он прошел успешно, и в журнале я вижу, что оператор assert сгенерировал исключение, которое было автоматически перехвачено:

[2019-04-16 13:53:57,254] [DEBUG] [myScript] log: Caught exception in on_message: assert False [218]

Здесь есть нечто похожее, что заставляет меня представить, что моя проблема связана с обратным вызовом, вызываемым сетевым потоком .... но как я могу заставить оператор assert обрабатыватьсякак нормальное утверждение pytest?

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