가속 테스트 테스트 테스트: 최근 drb 서버

1848 단어 threadRailsrspec
가속 테스트 테스트 테스트: 최근 drb 서버
rspec 는 매개 변수 인 drb 를 추가 하여 테스트 속 도 를 가속 화 할 수 있 습 니 다.rspec 를 사용 하지 않 으 면 표준 방법 으로 테스트 를 작성 하고 rake 를 실행 할 때마다 로드 환경 이 상당히 많은 시간 을 소모 합 니 다.매번 테스트 할 때마다 화면 에 18 초 동안 멍 때 리 는 것 은 너무 어 리 석 은 것 입 니 다...............................................................
나 는 간단하게 RAKE 미 션 2 개 를 써 서 DRB 로 이 문 제 를 해결 했다.
app/lib/tasks/test_server.rake

require 'drb/drb'


class TestServer

  def run(stdout, stderr)
    $stdout = stdout
    $stderr = stderr

#    puts ">>>> rake test:recent"
#    time_begin = Time.now

    # test:recent on DRb server
    Rake::Task["test:recent"].invoke

#    time_elapse = Time.now - time_begin
#    puts "  << cost #{time_elapse}s"
  end
end


# rake test:server
# rake test:remote
namespace :test do

  desc 'Run test server on DRb'
  task :server => :environment do
    DRb.start_service("druby://localhost:8999", TestServer.new)
    puts "ready"
    DRb.thread.join
  end

  desc 'Run recent tests on remote server.'
  task :remote do
    DRb.start_service
    remote = DRbObject.new_with_uri("druby://localhost:8999")
    remote.run($stdout, $stderr)
  end

end

서비스 시작
rake test:server
그리고 다음 명령 으로 rake test: recent 의 빠 른 버 전 을 실현 합 니 다.
rake test:remote
사고방식 이 간단 합 니 다. 환경 을 불 러 오 는 동작 은 모두 DRb server 에 버 려 집 니 다.
첫 번 째 rake test: remote 는 라 이브 러 리 환경 을 불 러 와 야 하지만 나중에 방문 하면 사용 하지 않 습 니 다.
DRB 에 서 는 rake test: recent 라 는 주파수 가 가장 높 은 동작 만 실 현 했 습 니 다. 필요 하 다 면 스스로 확장 할 수 있 습 니 다.
더 좋 은 제안 을 기대 합 니 다.

좋은 웹페이지 즐겨찾기