가속 테스트 테스트 테스트: 최근 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 라 는 주파수 가 가장 높 은 동작 만 실 현 했 습 니 다. 필요 하 다 면 스스로 확장 할 수 있 습 니 다.
더 좋 은 제안 을 기대 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Exception in thread main java.lang. NoClassDefFoundError 오류 해결 방법즉,/home/hadoop/jarfile) 시스템은 Hello World 패키지 아래의class라는 클래스 파일을 실행하고 있다고 오인하여 시스템의 CLASSPATH 아래 (일반적으로 현재 디렉터리를 포함) Hell...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.