1
EventMachine 내부에서 실행되는 Sinatra 앱이 있습니다. 현재 JSON 데이터에 대한 게시물 요청, 저장 지연 및 200 OK 상태 코드 반환 중입니다. 지연된 작업은 단순히 데이터를 대기열에 넣고 통계 카운터를 증가시킵니다. 코드는 다음과 유사합니다.지연된 작업을 테스트하는 방법 - EventMachine
class App < Sinatra::Base
...
post '/' do
json = request.body.read
operation = lambda do
push_to_queue(json)
incr_incoming_stats
end
callback = lambda {}
EM.defer(operation, callback)
end
...
end
내 질문은이 기능을 테스트하는 방법입니다.
이it 'should push data to queue with valid request' do
post('/', @json)
sleep 1
@redis.llen("#{@opts[:redis_prefix]}-queue").should > 0
end
이 어떤 도움에 감사드립니다 : 나는 Rack::Test::Methods
를 사용하는 경우, 내 시험처럼 보일 수 있도록 큐와 통계를 확인하기 전에 지연된 작업이 완료 확인하기 위해 sleep 1
같은 것을 넣어해야합니다!