Я не знаю ни одного брокера AMQP, реализованного на Python. И я не знаю о «облегченной» реализации в целом; Я думаю, что реализация брокера AMQP достаточно сложна, и те, кто его пробует, либо стремятся быть близкими к одной из версий спецификации AMQP, либо вообще не заморачиваются. :)
Я также не совсем понимаю, как при запуске брокера возникают те же проблемы, что и при запуске тестового веб-сервера для вашего веб-приложения.
Веб-сервер не делает ничего полезного без запуска вашего приложения внутри него, и, пока вы разрабатываете свое приложение, имеет смысл иметь возможность запускать его без необходимости полного развертывания.
Но вы не реализуете внутренние компоненты брокера, и вы можете настроить его динамически, чтобы (в отличие от веб-сервера) ему не нужно было перезапускаться каждый раз, когда вы меняете свой код. Обмены, привязки и очереди могут быть объявлены тестируемым приложением, а затем автоматически удалены.
Установка RabbitMQ совсем не сложна, и для нее практически не требуется настройка, если таковая имеется, поскольку она поставляется с учетной записью пользователя по умолчанию vhost и guest, которая подходит для использования в изолированной тестовой среде. Поэтому у меня никогда не было проблем с тем, чтобы RabbitMQ просто работал на моей тестовой машине.
Может быть, у вас была какая-то конкретная проблема, о которой я не думал; если это так, пожалуйста, оставьте комментарий (или разверните свой вопрос), чтобы объяснить это.
Редактировать: В последнее время я довольно много тестировал приложения на основе AMQP, и я обнаружил, что Плагин управления RabbitMQ очень полезен. Он включает в себя HTTP API , который я использую для создания нового виртуального хоста для каждого запуска теста и последующего его уничтожения для очистки состояния брокера. Это делает запуск тестов на совместно используемом брокере гораздо менее навязчивым. Использование HTTP API для управления этим, а не тестируемый клиент AMQP позволяет избежать нескольких цикличных испытаний.