महत्वपूर्ण समस्या निवारण के बाद, मुझे लगा कि मुझे rake specएक बार दौड़ने की आवश्यकता है (मैं नियंत्रण-सी के साथ गर्भपात कर सकता हूं) इससे पहले कि मैं सीधे आरएसपीसी चला सकता हूं (जैसे कि हमारे चश्मे का सबसेट)। हम रेल 3.0.7 और RSpec 2.5.0 चला रहे हैं।
स्पष्ट रूप से, रेक कुछ महत्वपूर्ण डेटाबेस सेटअप कार्य / कोड चला रहा है (हमारे पास रूट कोड रेलेक राफाइल और संभवतः अन्य स्थानों पर कस्टम कोड है)।
बिना रन के मैं रेक टेस्ट डेटाबेस सेटअप कार्य / कोड कैसे चला सकता हूं rake spec?
फ़ाइलों के एक सबसेट पर rspec चलाने में सक्षम होने के अलावा, मैं कई कोर में हमारे चश्मे को फैलाने के लिए specjour का उपयोग कर रहा हूं (अभी तक LAN में उन्हें फैलाने के साथ सफलता नहीं मिली है), लेकिन मुझे recec चलाने के लिए उसी तरह का व्यवहार दिखाई देता है सीधे: मैं rake specप्रत्येक परीक्षण डेटाबेस (दो कोर को संभालने) पर चलने से पहले कार्य करना चाहता हूं:
rake spec TEST_ENV_NUMBER=1
control-c (after tests start)
rake spec TEST_ENV_NUMBER=2
control-c (after tests start)
specjour
नोट: मेरे कॉन्फ़िगर / database.yml में परीक्षण के लिए यह प्रविष्टि है (जैसा कि समानांतर परीक्षण रत्नों के लिए आम है):
test:
adapter: postgresql
encoding: unicode
database: test<%=ENV['TEST_ENV_NUMBER']%>
username: user
password:
समानांतर_टैस्ट अपने डेटाबेस को सही ढंग से सेट करने के लिए लगता है, लेकिन हमारे कई चश्मे विफल हो जाते हैं।
मुझे यह भी उल्लेख करना चाहिए कि रनिंग specjour prepareकारणों को लॉग त्रुटियों को स्थगित करता है जो इसे डेटाबेस नहीं मिल सकता है, लेकिन यह उन्हें (टेबल के बिना) बनाता है। बाद में चलने पर, कोई त्रुटि लॉग नहीं होती है, लेकिन कोई तालिका भी नहीं बनाई जाती है। यह संभव है कि मेरा पूरा मुद्दा बस एक बग में है prepare, इसलिए मैंने इसे गीथूब पर रिपोर्ट किया।
मुझे लगता है कि मैं Specjour::Configuration.prepare.specjour / hooks.rb में सेटिंग करके प्रत्येक सट्टेबाजी परीक्षण डेटाबेस पर मनमाना कोड चला सकता हूं, इसलिए यदि कोई रेक कार्य या अन्य कोड जिसे मुझे चलाने की आवश्यकता है, तो यह वहां काम कर सकता है।