【问题标题】:What are some strategies to test blocks tied to EventMachine::WebSocket events?测试与 EventMachine::WebSocket 事件相关的块有哪些策略?
【发布时间】:2012-05-24 15:27:36
【问题描述】:
我正在尝试测试我编写的一些代码来响应可以通过EventMachine::WebSocket 注册的onopen、onmessage 和onclose 事件,我很想知道是否有任何实用程序可以帮助模拟单元测试的一些 EventMachine 功能。链接到示例 em-websocket 测试将不胜感激;我到处寻找示例测试,但无济于事。
【问题讨论】:
标签:
ruby
unit-testing
testing
websocket
eventmachine
【解决方案1】:
您是否尝试过自己模拟 Websocket::Connection 实例?我会先用send 方法设置一个对象?
例如:
class ConnectionMock
def send(msg)
end
end
然后创建一个实例来代表 em-websocket 文档中使用的典型 ws 实例。 onmessage 是唯一传递参数的事件,该参数是一个字符串,因此不需要对这些事件进行太多模拟。我将从这个基础对象开始,并根据需要模拟更多方法。
这是来自Socky 的 EM-Websocket 模拟示例。