2010-11-25 18 views
11

ऑटोटेस्ट गति को बढ़ाता है जिस पर परीक्षण केवल बदले गए परीक्षणों को चलाकर चलाया जाता है।रेल परीक्षण में ऑटोटेस्ट और स्पार्क कैसे गठबंधन करें?

लेकिन मैं रेल पर्यावरण को प्रीलोड करने के लिए स्पार्क का उपयोग करके इसे और भी आगे बढ़ाना चाहता हूं, ताकि मुझे और भी तेज प्रतिक्रिया मिले।

क्या यह संभव है?

Autotest: https://github.com/grosser/autotest

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

उत्तर

0

मैं अभी तक यह प्रयास नहीं किया है, लेकिन वहाँ chapter 3 of the RailsTutorial में एक वर्ग है कि कुछ "हैक" का बताता है spork स्थापित करने के लिए है। ट्यूटोरियल वर्तमान में कहते हैं:

... इस लेखन Spork के रूप में आधिकारिक तौर पर रेल 3

का समर्थन नहीं करता अध्याय यह Autotest साथ सेट करने का तरीका बताने के लिए चला जाता है। एक बात पता है कि तुम

--drb

अपने .rspec फ़ाइल में की आवश्यकता होगी है।

13

ARTICLE1mikbe has you covered! मैं इसे यहाँ अलग तरीके से व्यक्त करने का प्रयास करेंगे, लेकिन पोस्ट इस तरह के एक महान काम करता है।

यदि आप ओएसएक्स पर होते हैं, तो ट्रे नोटिफिकेशन के लिए ग्रोल का उपयोग करने के निर्देश भी हैं।

ARTICLE2 रेल 3 और RSpec के लिए Ruby Inside also has a walkthrough 2.

+1

बढ़िया! बेहतरीन लेख के लिए धन्यवाद! यह मेरे लिए पूरी तरह से काम करता है। – Shuo

4

आप रूबी 1.9 का उपयोग करें और spork का उपयोग करें और टेस्ट :: इकाई (वास्तव में MiniTest) के साथ Autotest को यह कोशिश करना चाहते हैं:

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 और निर्देशों का पालन करें।

spork minitest 

अंत में एक और टर्मिनल में Autotest शुरू:

bundle exec autotest 

और (उम्मीद) MiniTest साथ वास्तव में तेजी से autotesting का आनंद

के बाद ऊपर सेटअप एक बार किया जाता है, आप परीक्षण सर्वर शुरू कर सकते हैं ।

संबंधित मुद्दे