चूंकि हेरोोकू पर सीधे चल रहे परीक्षणों को इतना छोटा नहीं लगता है, इसलिए मैंने सामान्य कैपिबरा कॉल की बजाय HTTParty कॉल का उपयोग करके, स्थानीय परीक्षण को हेरोकू ऐप पर निर्देशित करने का सहारा लिया।
यह कम से कम एकीकरण परीक्षण के लिए, अच्छी तरह से काम कर सकता है।
उदाहरण के लिए, इस विधि मैं कदम निर्धारित करने में उपयोग जब स्थानीय एप्लिकेशन के खिलाफ पारंपरिक स्थानीय परीक्षण चल रहा है:
def my_http_request(httpmethod, path, body = '')
send httpmethod, path, body
end
और इस विधि का उपयोग मैं जब Heroku एप्लिकेशन के खिलाफ स्थानीय परीक्षण चल रहा है:
def my_http_request(httpmethod, path, body = '')
options = body.blank? ? { :headers => {"Content-Length" => "0"} } : { :body => body }
@last_response = HTTParty.send httpmethod, 'https://lit-*****-6305.herokuapp.com' + path, options
end
मैं एक या ककड़ी विश्व में अन्य, (ताकि मैं बस cucumber -p heroku
कॉल कर सकते हैं जब मैं Heroku के खिलाफ परीक्षण करना चाहते हैं) ही ककड़ी के लिए पारित किया है और एक प्रासंगिक प्रोफ़ाइल में सेट एक विशिष्ट विकल्प के आधार पर लोड।
बेशक
, दूसरे मामले में मैं भी प्रत्येक परिदृश्य से पहले Heroku डेटाबेस आरंभ की देखभाल करने, एक 'से पहले' हुक में इस तरह उदाहरण कुछ के लिए बुला:
def start_my_heroku_tests
@@db = PGconn.open(:host => 'ec2-54-**-****-44.compute-1.amazonaws.com', :port => 5432, :dbname => 'd4d********rmi4k', :user => 'llcm*******jcyh', :password => '7FN_************gcxq')
@@db.exec "TRUNCATE sources"
@@db.exec "TRUNCATE posts"
end