В моем модульном тесте я хочу просто начать потреблять, публиковать sh сообщение, получать ответ и утверждать, является ли ответ тем, чем я его ожидаю. Тем не менее, я пытался делать это часами и не нашел решения.
Проблема в том, что я не могу определить метод в классе, который останавливает потребление. Я попытался определить метод, подобный этому:
def stop(self):
self.channel.basic_cancel()
def stop(self):
self.channel.stop_consuming()
def stop(self):
self.connection.close()
Но, похоже, ничего не работает. Я читал, что это потому, что после выполнения start_consuming()
единственный способ остановить потребление - отменить его после отправки сообщения. Но если я сделаю это, то я бы изменил исходный on_request
, и это не было бы полезно для моего приложения, потому что соединение закроется после первого сообщения. Я нашел pytest-rabbitmq , но документация мне не ясна, и поэтому я не знаю, смогу ли я использовать этот плагин для достижения того, чего я хочу.
Кстати, что чем разница между basic_cancel
, stop_consuming
и close
?