2011-09-17 16 views
5

मैं ऑन रेल्स 3.0.9 और RSpec 2. मैं जानता हूँ कि वहाँ RSpec और एक before_validation कॉलबैक का उपयोग करने पर कुछ ज्ञात समस्याएं हैं कि रूबी का उपयोग कर रहा है, क्योंकि before_validation लगता जब शुरू किया जा करने के लिए नहीं spec फ़ाइलों में भागो। आप बहुत सारे मुद्दों को ढूंढ सकते हैं (उदाहरण के लिए, Google search करके)।Rspec और 'before_validation' कॉलबैक मुद्दों

मुझे आश्चर्य है कि इस समय, कोई भी इस समस्या का समाधान कर चुका है?

पीएस: मैंने पढ़ा है कि कुछ लोगों ने मॉक्स का उपयोग करने का प्रस्ताव दिया है, अन्य लोग before_validation से कुछ अन्य कॉलबैक (उदाहरण के लिए: before_save) पर स्विच करने के लिए या save(:validate => false) विधि (इसलिए सत्यापन छोड़ने के लिए) का उपयोग करने का प्रस्ताव दिया है ... और इसी तरह ... लेकिन किसी ने भी "असली" समस्या हल नहीं की है। इस मुद्दे को हल करने के लिए आपको ऐसे मामलों में क्या करना चाहिए?

+1

'pre_validation' परीक्षणों में ट्रिगर नहीं होने का कोई कारण नहीं है - मॉडल परीक्षण सेटअप के दौरान कुछ भी विशेष नहीं करते हैं। मैं ईमानदारी से सोचता हूं कि लोग इस तरह के परीक्षणों को लिखना नहीं जानते हैं। क्या आपके पास एक परीक्षा है जिसे आप पारित करने की कोशिश कर रहे हैं? –

+0

+1 जो काम नहीं कर रहा है उसके उदाहरण के लिए +1। हमें पहले_विधीकरण जांच के साथ एक सरल मॉडल दें, और वह नमूना जिसे आप लिखने के लिए लिख रहे हैं उसे सत्यापित करें। –

+0

http://stackoverflow.com/questions/7361036/rspec2-testing-a-before-validation-method क्या आपने कॉल किया था। वैध? –

उत्तर

0

यदि आप मोक्स का उपयोग करके चारों ओर नहीं जा सकते हैं, तो पुनः लोड विधि का उपयोग करके और अपने परीक्षण के बाद अपना उदाहरण पुनः लोड करने का प्रयास करें।