2013-01-18 8 views
5

मैं वर्तमान में सुविधा के लिए गार्ड और स्पार्क के साथ परीक्षण के लिए रुपेक का उपयोग कर रहा हूं। मैंने देखा है कि जब तक मैं गार्ड को छोड़कर पुनरारंभ नहीं करता, तब तक यादृच्छिक बीज रनों के बीच नहीं बदलता है। हालांकि यह एक बड़ा मुद्दा नहीं है, लेकिन यह आसान होगा अगर यह किया।क्या मैं गार्ड/स्पार्क के साथ रुपेक में प्रत्येक रन को यादृच्छिकरण बीज बदल सकता हूं?

कोई भी चीजों को बदलने के तरीके के बारे में जानता है ताकि यह हर बार परीक्षण चलाने के लिए एक नए बीज का उपयोग करे ??

+0

वही समस्या। प्रत्येक रन 'spec_helper.rb' में मानक यादृच्छिक क्रम कॉन्फ़िगरेशन के साथ भी' बीज 0' के साथ यादृच्छिक 'के साथ समाप्त होता है। क्या आपको कभी इसका जवाब मिला? – jordanpg

+0

मैं स्पार्क के बजाय वसंत का उपयोग करता हूं (मूल रूप से वही बात), और रुबेऑनरल के जवाब ने मेरे लिए पूरी तरह से काम किया। –

उत्तर

0

आप किस संस्करण का उपयोग कर रहे हैं?

मैं गार्ड (1.6.2), आरएसपीईसी (2.13.0) का उपयोग कर रहा हूं। मैं स्पार्क का उपयोग नहीं कर रहा हूं लेकिन यह मेरे लिए बीज को यादृच्छिक बनाता है।

यहाँ प्रासंगिक बिट मैं अपने spec_helper में है वह यह है कि:

RSpec.configure do |config| 
    config.order = 'random' 
end 
+0

मुद्दा यह नहीं है कि यह आदेश को यादृच्छिक नहीं करता है (कॉन्फ़िगरेशन ठीक है), यह है कि अगर मैं स्पार्क को पुनरारंभ करता हूं तो यह केवल एक नया बीज उत्पन्न करता है। –

3

मैं अपने Guardfile को --order rand:$RANDOM झंडा कहा:

guard 'rspec', zeus: true, cli: '--color --order rand:$RANDOM' do 
    watch(...) 
end 
+2

यह पूरी तरह से काम किया। धन्यवाद! –

2

हाँ, मेरे लिए निम्नलिखित काम करता है। spec_helper.rb में जोड़ें:

Spork.each_run do 
    RSpec.configuration.seed = srand && srand % 0xFFFF 
end 

From here

+0

यह समाधान मेरे लिए काम करता है (प्रत्येक बार "बीज के साथ यादृच्छिक" अलग-अलग) जबकि @ रुबेऑनरल ने नहीं किया (हमेशा बीज 0 का उपयोग किया जाता है)। शायद मेरे गार्ड आमंत्रण को $ RANDOM- उत्पन्न करने वाले खोल द्वारा सीधे नहीं चलाया जा रहा है जैसे कि बाश? मैं रूबी 2.1.4, रेल 4.0.2, गार्ड 2.6.1 का उपयोग करता हूं; लॉगिन खोल $ RANDOM- प्रदान करने वाला बैश है। – jackr

0

आप वसंत संदर्भ में यादृच्छिक क्रम करना चाहते हैं, लेकिन यह भी उपयोग करते हैं --seed पैरामीटर जोड़ें:

config.seed = srand % 0xFFFF unless ARGV.any? { |arg| arg =~ /seed/ } 

spec_helper.rb करने के लिए।

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