작은 sinatra 앱에 동시에 액세스하는 테스트를 작성하고 싶습니다.세션 및 동시 액세스가 가능한 Sinatra 테스트
문제는 내가 세션 (Rack :: Session :: Pool을 통해)을 사용한다는 것입니다. 랙 테스트에서 새 세션을 생성하는 방법을 파악할 수 없었습니다. 내가 요청한 세션 데이터를 주입하면 언제나 하나의 세션으로 끝납니다. 따라서 기본적으로 한 번에 하나의 세션 만 가질 수 있습니다.
threads = []
2.times do |index|
threads << Thread.new do
get "/controller/something", {}, "rack.session" => {:id => "Thread#{index}"}
post "/do_action"
end
end
thrads.each{|t| t.join}
"나는 여러 인스턴스를 가질 수있는 브라우저 레이어"어떤 종류가 있습니까 : 내 테스트에서
는 나는 다음 시도?
편집 : 죄송합니다. 명확한 설명이 필요합니다. 스레딩 예제는 새 세션을 얻는 것일뿐입니다. 그것은 작동하지 않았다. 그래서 나는 runnin (테스트) 서버에서 여러 세션을 여는 방법을 찾고 있습니다. 개발 모드에서는 새로운 브라우저 세션을 열어 이러한 작업을 수행 할 수 있습니다. 테스트 모드에서는 현재 잃어 버렸습니다.
내가 틀렸다면 그 해프닝이 날 수정보고 해달라고 그래서 나는시나가에 WEBrick과에 WEBrick는 기본적으로 단일 스레드입니다 작업 틀렸다면 – Viren
그럴 수도 있지만 문제와는 아무런 관련이 없습니다. 스레딩 예제는 클라이언트 측의 예제입니다. 서버에 하나의 스레드 만 있으면 여러 세션을 관리 할 수 있어야합니다. – leifg