2016-07-28 11 views
5

मैंने नियंत्रक में कुछ सार्वजनिक विधि बनाई जो कुछ काम करता है।रेल - रुपेक - स्टब पैराम्स

def current_service 
    service_name = params[:controller].gsub('api/v1/', '').gsub(%r{/.+}, '') 
end 

मैं RSpec का उपयोग कर इस विधि परीक्षण करना चाहते हैं, लेकिन मैं जानता हूँ कि dont't कैसे मैं पैरामीटर ठूंठ कर सकते हैं। मैं कैसे करूं?

+1

यह एक बयान है, एक प्रश्न नहीं। – mudasobwa

+1

आप सही हैं, मैंने सवाल जोड़ा। – mike927

उत्तर

7

इस एक नियंत्रक कल्पना है, तो आप इस तरह कुछ करने के लिए सक्षम होना चाहिए:

allow(controller).to receive(:params).and_return({controller: 'a value'}) 

वैकल्पिक रूप से, अपने कल्पना में एक अलग तरीका है और ठूंठ को params[:controller] बयान के लिए कदम है।

+0

ग्रेट उत्तर। मेरी समस्या यह थी कि मैंने 'नियंत्रक' के बजाय 'description_class' का उपयोग किया था और इससे त्रुटि हुई। धन्यवाद। – mike927

+0

मजबूत पैराम परीक्षण के बारे में क्या? – Pachonk

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