我刚刚开始使用Sinatra,并希望能够测试一个检查websocket的方法,如下面的代码片段所示:
require 'sinatra'
require 'sinatra-websocket'
set :server, 'thin'
set :sockets, []
get '/' do
if !request.websocket?
erb :index
else
request.websocket do |ws|
ws.onopen do
ws.send("Hello World!")
settings.sockets << ws
end
ws.onmessage do |msg|
EM.next_tick { settings.sockets.each{|s| s.send(msg) } }
end
ws.onclose do
warn("websocket closed")
settings.sockets.delete(ws)
end
end
end
end
(代码从this question解除,但几乎与我的使用相同)
我正在使用MiniTest进行测试,希望有一种简单的方法可以使用模拟websocket传递请求,因此超越了if!request.websocket?有条件的。
使用最简单示例的片段会很棒,但任何指针都会感激不尽!
免责声明:我是Ruby的新手,虽然我喜欢它,虽然我没有看到任何明确的使用示例,但这看起来很明显 - 因此这个问题!