Tag: tcpserver

如何使用rspec测试multithreadingTCPServer

我写了一个非常简单的日期服务器: require ‘socket’ s = TCPServer.new 3939 while (conn = s.accept) Thread.new(conn) do |c| c.print “Enter your name: ” name = c.gets.chomp c.puts “Hi #{name}, the date is…” c.print `date` c.close end end 用户连接,产生一个线程,他们输入他们的名字,返回日期。 简单。 我想知道如何在rspec中测试这样的东西。 我有过的一些想法:1。)使用VCR记录服务器连接,使用Timecop冻结并返回日期。 2.)在之前的块中连接到实际的服务器。 我不完全确定如何执行此操作,因为当我运行rspec时,我认为它实际上运行服务器…或者发生了一些事情,终端只是冻结并等待某些东西……示例测试代码: before @server = TCPSever.new 3939 end it “does something..” conn = @server.accept # etc end after […]