Я поддерживаю несколько драгоценных камней Ruby, которые обрабатывают удаленные файлы, используя net/http
.
Моя текущая настройка модульного теста включает запуск сервера WEBrick методом setup
, а затем его уничтожение в teardown
.
def setup
return if @server_thread
@server_thread = Thread.new do
s = WEBrick::HTTPServer.new(:Port => 12000, :DocumentRoot => www_root, :Logger => Log.new(nil, BasicLog::ERROR), :AccessLog => [])
port = s.config[:Port]
begin
s.start
ensure
s.shutdown
end
end
end
С Ruby 1.9.2 и 1.9.3 я получаю кучу ошибок соединения - Errno::ECONNREFUSED: Connection refused - connect(2)
.Еще более расстраивает то, что они преходящи - иногда они случаются, иногда нет.Все, что я могу думать, это то, что WEBrick либо перегружен, либо не настроен должным образом.
Мне нужно иметь возможность загружать несколько статических файлов (в моем каталоге фикстур) по HTTP для тестирования этих гемов.Как лучше всего использовать фиктивный HTTP-сервер для тестирования Test::Unit
?