使用 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;
}
}
干杯:)
我正在使用 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;
}
}
干杯:)