2010-11-25 7 views
11

자동 테스트는 변경된 테스트 만 실행하여 테스트가 실행되는 속도를 높입니다.레일 테스팅에서 오토 테스트와 스포크를 결합하는 방법은 무엇입니까?

그러나 나는 더 빠른 피드백을 얻을 수 있도록 레일 환경을 미리로드하기 위해 spork를 사용하여 더욱 더 밀고 싶습니다.

이것이 가능합니까?

자동 측정 : https://github.com/grosser/autotest

Spork : http://github.com/timcharper/spork

답변

0

나는 아직 그것을 시도하지 않은,하지만 spork를 설정하는 몇 가지 "해킹"을 알려줍니다 chapter 3 of the RailsTutorial의 섹션이있다. 튜토리얼은 현재 말한다 :이 작성 Spork의 공식적 장은 자동 측정과 설정 방법을 알려 계속 레일 3

을 지원하지 않습니다

.... 알 수있는 것은 당신이 당신의 .rspec 파일에

이 --drb해야한다는 것입니다.

13

제 1 류mikbe has you covered! 나는 여기에서 그것을 다시 쓰려고 시도하지만 그 포스트는 훌륭한 일을합니다.

OSX를 사용하는 경우 Tral 알림을 위해 Growl을 사용하는 방법도 있습니다.

2 조 레일 3 RSpec에 대한 Ruby Inside also has a walkthrough 2.

+1

좋아요! 위대한 기사 주셔서 감사합니다! 그것은 나를 위해 완벽하게 작동합니다. – Shuo

4

루비 1.9 사용이 시도 spork를 사용하여 테스트 : : 단위 (실제로 MiniTest)와 함께 자동 측정하려면 :

Gemfile을 :

group :test do 
    # Newer version of test::unit: 
    gem 'minitest' 

    # spork preloads a rails instance which is forked every time the tests are 
    # run, removing test startup time. 
    gem 'spork' 

    # Run 'spork minitest' to start drb server (test server). Use 'testdrb' to 
    # run individual tests via spork. 
    gem 'spork-minitest' 

    # Run 'bundle exec autotest' to rerun relevant tests whenever a file/test is 
    # changed. '.autotest' makes sure the tests are run via test server (spork). 
    gem 'autotest-standalone' 

    # -pure gives us autotest without ZenTest gem. 
    gem 'autotest-rails-pure' 
end 

.autotest :

class Autotest 
    # run tests over drb server (spork) 
    def make_test_cmd files_to_test 
    if files_to_test.empty? 
     "" # no tests to run 
    else 
     "testdrb #{files_to_test.keys.join(' ')}" 
    end 
    end 
end 

(참고 : 지침 bin/testdrb을 말한다,하지만 난 나를 위해 작동하도록 testdrb로 변경되었습니다.) 터미널에서

:

spork minitest --bootstrap 

편집 test/test_helper.rb 및 수행 지침을 제공합니다.

bundle exec autotest 

을 그리고 (희망) MiniTest 정말 빠른 autotesting을 즐길 :

spork minitest 

마지막으로 다른 터미널에 자동 측정을 시작 : 위의 설정이 일단 완료되면

, 당신은 테스트 서버를 시작할 수 있습니다 .