使用 spock 进行 JMS 队列测试

JMS Queue testing with spock

我正在使用 activemq 并尝试发送,是否可以测试我自己创建的 MOCK 是否成功将消息发送到队列。我正在使用 Activemq 并希望在其中进行自动化测试,模拟将消息发送到队列并使用 spock 确保消息已发送。

您可以先创建一个QueueBrowser,然后使用枚举获取消息的数量。比让循环 运行 直到枚举对象有元素。比在那个循环中检查你的消息,如果它在那里。代码应该看起来像这样

        QueueBrowser qbrowser = session.createBrowser(QueueName);
        Enumeration messages = qbrowser.getEnumeration();
        while (messages.hasMoreElements())
        {

            TextMessage message = (TextMessage) messages.nextElement();
            String a=message.getText();


            if (Message is there)
            {
                return true;
            }
        }

干杯:)