2011-09-15 16 views
6

हम एक रेल 3 परियोजना पर काम कर रहे हैं और Capybara/RSpec का उपयोग कर परीक्षण कर रहे हैं। समस्या यह है कि स्टेजिंग और उत्पादन पर्यावरण कुछ हद तक भिन्न है। कभी-कभी, परीक्षण ठीक चलेंगे और स्टेजिंग पर कोई समस्या नहीं होगी, लेकिन उत्पादन में टूट जाएगा।रेल: परीक्षण उत्पादन

एक उदाहरण यह है कि जब हमने एक मिडलवेयर जोड़ा जो फ़ाइलों को भेजने के लिए रैक :: फ़ाइल का उपयोग करता है। एप्लिकेशन ने हेडर 'एक्स-सेंडफाइल' भेजा जो अपाचे के तहत काम करता है लेकिन Nginx 'एक्स-एक्सेल-रीडायरेक्ट' की अपेक्षा करता है।

जब हम उत्पादन को दबाते हैं तो मैं परीक्षण की बैटरी चलाने का सबसे अच्छा तरीका ढूंढ रहा हूं। क्या किसी ने ऐसा किया है? आदर्श रूप से परीक्षण उत्पादन सर्वर पर ही नहीं चलना चाहिए।

परीक्षण मूल रूप से हमारे उत्पाद की मुख्य विशेषताएं शामिल करेंगे और वर्तमान में चल रहे परीक्षणों से अलग होंगे।

धन्यवाद एक बहुत

+2

कुछ मैंने कड़ी मेहनत सीखी है: कोड और उन वातावरणों पर तैनाती जो उत्पादन के समान हैं। क्या आप Nginx के लिए अपाचे सर्वर बदल सकते हैं? मैं आमतौर पर उत्पादन (ओएस वार) के समान कॉन्फ़िगरेशन के साथ एक वीएम कॉन्फ़िगर करता हूं और वहां ऐप को तैनात/परीक्षण/चलाता हूं। – Augusto

+0

मैं मानता हूं कि यह आदर्श स्थिति होगी, लेकिन हमारे sysadmin के पास निकट भविष्य में समय नहीं है। साथ ही, मुझे यकीन नहीं है कि हम बिल्कुल उत्पादन की तरह हो सकते हैं। – gmalette

+1

क्या आप इसे बना सकते हैं? ओएस और पैच स्तर के समान संस्करण के साथ वीएमवेयर प्लेयर या BusyBox स्थापित करें। 'समान' से मेरा मतलब जितना संभव हो उतना ही है, इसलिए आप इस प्रकार के परिदृश्यों का परीक्षण कर सकते हैं। मैं (निश्चित रूप से) सुनिश्चित हूं कि यदि आप अपने सिसडमिन से आपको हाथ देने के लिए कहते हैं, तो लाभ के साथ आपको अक्सर अपना समय नहीं चाहिए, वह सहमत होगा। यह आपको कुछ 'किनारे' मामलों का परीक्षण करने की आजादी देगा और यह सिसडमिन को एक सहायता डेस्क होने के बजाय कुछ वास्तविक काम करने के लिए मुक्त कर देगा ... मुझे यकीन है कि आप उसे मनाने के लिए !! – Augusto

उत्तर

6

क्या मैं कर रहा समाप्त हो गया एक और RSpec परीक्षण की एक production_test वातावरण में है कि केवल पढ़ने के लिए गया है डेटाबेस के लिए उपयोग सेट है। मैं capybara-webkit ड्राइवर का उपयोग करता हूं और प्रत्येक परीक्षण उस परीक्षण के लिए पूर्ण यूआरएल पर जाकर शुरू होता है।

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