मैं उस एप्लिकेशन के लिए नियंत्रक परीक्षण लिख रहा हूं जिसे मैंने नहीं बनाया है, इसलिए यह निश्चित रूप से एक सीखने की प्रक्रिया है। यह मेरा पहला समय है जो एक नियंत्रक का सामना कर रहा है जो सीधे नियंत्रक नियंत्रक :: बेस से प्राप्त होता है। यह स्पष्ट रूप से, अन्य नियंत्रकों के समान व्यवहार नहीं करता है।रेल में आरईपीसी नियंत्रक परीक्षण एक नियंत्रक जो कि नियंत्रक नियंत्रक से प्राप्त होता है :: बेस
इसका प्रारूप मोटे तौर पर है:
class SchwadGenericController < AbstractController::Base
def schwad_method var_one, var_two = nil, var_three = nil
if var_two.blank?
var_one.generic_method
end
render template: "schwad_templates/generic_template", layout: false
end
end
मैं सामान्य परीक्षण की कोशिश की, यह वह जगह है जहाँ मैं कुछ भी होने के लिए प्राप्त करने पर वर्तमान में कर रहा हूँ।
require 'rails_helper'
describe SchwadGenericController do
# before(:each) do
# SchwadGenericController.skip_authorize_resource
# end
# login_user
let!(:variable){ create(:my_factory_variable) }
describe 'controller methods' do
it 'should hit this method' do
binding.pry
SchwadGenericController.schwad_method(variable)
# expect(response).to_render template: "schwad_templates/generic_template"
end
end
end
और यहां लगभग मोटे तौर पर मेरी विफलताओं लैंडिंग हैं।
Failures:
1) SchwadGenericController controller methods should hit this method
Failure/Error: Unable to find matching line from backtrace
NoMethodError:
undefined method `request=' for # <SchwadGenericController:0x007f8022db0a20>
मैं सार नियंत्रकों पर पढ़ सकते हैं और यहां रेल में उनकी भूमिका: https://www.mobomo.com/2012/06/and-you-thought-render-farms-were-just-for-pixar/
मैं यहाँ डॉक्स पर पढ़ें: http://api.rubyonrails.org/classes/AbstractController/Base.html
मैं इस और मार्गदर्शन पर आंखों का एक और सेट वास्तव में सराहना करेंगे इस तरह के लोगों ने नियंत्रक और उनके तरीकों का परीक्षण किया है, नियंत्रक के साथ जो सार नियंत्रक :: आधार से विरासत में हैं .... मुझे क्या याद आ रही है?
-Schwad
धन्यवाद। इस तरह से चलेंगे और वापस रिपोर्ट करेंगे। – Schwad