【发布时间】:2015-05-06 01:22:50
【问题描述】:
我的代码中有一个部分轮询队列中的消息,然后根据消息类型对其进行操作:
@queue = Foo::Queue.new
loop do
@queue.poll do |message|
if message[:task] == TAKEACTION
result = takeaction(message)
@queue.send_result(result, message)
end
@queue.pong(message) if message[:task] == PING
end
end
如何设置测试以提供单个 message 并验证 @queue 是否按我预期的方式对其进行操作?
我很少看到关于在 minitest 中测试块的内容,并且在 ruby 中没有发现任何关于打破无限循环的内容,尽管我在 python 中发现了一个想法,您可以在其中设置第二次运行以引发异常。
任何 ruby / minitest 大师可以提供帮助吗?
【问题讨论】:
-
一些提示here.