我有一个小应用程序,提供连接(如聊天)。它捕获连接,从中获取登录信息,然后侦听数据并将其广播到每个连接,发送者除外。
问题是我不是一个非常高级的测试人员,也不知道如何测试。
# Handle each connection
def serve(io)
io.puts("LOGIN\n")
# Listen for identifier
user = io.gets.chomp
...
# Add connection to the list
@mutex.synchronize { @chatters[user] = io }
# Get and broadcast input until connection returns nil
loop do
incoming = io.gets
broadcast(incoming, io)
end
end
#Send message out to everyone, but sender
def broadcast(message="", sender)
# Mutex for safety - GServer uses threads
@mutex.synchronize do
@chatters.each do |chatter|
socket = chatter[1]
# Do not send to sender
if sock != sender
sock.print(message)
end
end
end
end