fittinq/symfony-behat-rabbitmq

该软件包最新版本(1.1.2)没有提供许可信息。

1.1.2 2023-12-20 12:53 UTC

This package is auto-updated.

Last update: 2024-09-20 14:22:19 UTC


README

Symfony Behat RabbitMQ Bundle 简化了在 Symfony 应用程序中编写 Behat 测试以实现 RabbitMQ 集成的过程。此捆绑包提供了一套 Behat 上下文步骤,可简化与 RabbitMQ 队列和交换的交互,允许您彻底测试和验证消息流。

目录

简介

在您的 Symfony 应用程序中测试 RabbitMQ 集成可能是一个复杂且具有挑战性的任务。此捆绑包旨在通过提供一系列 Behat 上下文步骤来简化此过程,这些步骤允许您无缝地与 RabbitMQ 组件交互。使用此捆绑包,您可以轻松创建场景来测试 RabbitMQ 消息流,确保您的应用程序按预期运行。

安装

要将 "symfony-behat-rabbitmq" 捆绑包集成到您的 Symfony 项目中,请按照以下步骤操作

  1. 使用 Composer 安装捆绑包

     composer require fittinq/symfony-behat-rabbitmq
    
  2. 在您的 Symfony 应用程序中注册捆绑包。如果您正在使用 Symfony Flex,捆绑包应该会自动注册。如果没有,请确保将其添加到您的 config/bundles.php 文件中。

使用方法

要使用 "symfony-behat-rabbitMQ" 捆绑包,请按照以下步骤操作

创建交换

在您的 Behat 功能文件中定义交换,以模拟 RabbitMQ 消息流

And there are exchanges
| source | event  | 
| bakery | bread  | 
| bakery | flour  |

创建带有交换的队列

指定与定义的交换关联的队列

And there are queues
| exchange     | queue              |
| bakery.bread | bakery.bread.baked |

向交换发送消息

向指定的交换发送消息以触发 RabbitMQ 流

When a message is sent to bakery.bread
"""
{
    "Type": "Wheat bread",
    "ingredients": [
        "Flour",
        "Water",
        "Eggs"
    ]
}
"""

断言队列中的消息已确认

确保队列中的消息已被确认

Then assert that the message in queue bakery.bread.baked is acked

配置

要完成设置,请配置您的 Behat 套件以包括 RabbitMQContext。以下是在您的 behat.yml 文件中配置 Behat 套件的示例:

default:
   suites:
      default:
         paths:
            - features
         contexts:
            - Fittinq\Symfony\Behat\RabbitMQ\Context\RabbitMQContext