मेरे पास before_filter
है ApplicationController
कक्षा पर और मैं इसके लिए एक परीक्षण लिखना चाहता हूं? मुझे इस परीक्षा को कहां लिखना चाहिए? मैं हर सबक्लास नियंत्रक परीक्षण फ़ाइल में नहीं जाना चाहता हूं और इस फ़िल्टर के बारे में परीक्षण दोहराता हूं।रेल 3 में फिल्टर विधियों से पहले एप्लिकेशन नियंत्रक का परीक्षण कैसे करें?
इसलिए, ApplicationController
पहले_फिल्टर का परीक्षण करने का अनुशंसित तरीका क्या है?
ध्यान दें कि मैं minitest
के साथ उपयोग कर रहा हूं।
, मैं अपने दृष्टिकोण के साथ सहमत हैं। मेरा फ़िल्टर 'एप्लिकेशन कंट्रोलर' वर्ग पर घोषित किया गया है (और इससे प्राप्त सभी नियंत्रकों को विरासत में मिला है)। मैं जिस फ़िल्टर विधि का उपयोग करता हूं उसे अनुरोध पर चेक के साथ करना होता है। मुझे एक ऐसे स्थान पर एक परीक्षा लिखनी है जहां मैं एक कंक्रीट नियंत्रक का परीक्षण करते समय उपयोग (या समतुल्य?) जैसी विधियों का उपयोग कर सकता हूं। हो सकता है कि मेरी समस्या का आपका उत्तर आपके अंतिम वाक्यांश में है ("अगर फिल्टर ... परीक्षणों में ...", लेकिन मैं इसे नहीं देख सकता। साथ ही, मैं कैसे परीक्षण करूं कि 'pre_filter' से जुड़ी विधि वास्तव में उससे जुड़ी हुई है? –
आप एक परीक्षण सूट लिख सकते हैं जो प्रत्येक नियंत्रक परीक्षण में शामिल हो जाता है और प्रत्येक क्रिया के लिए चलता है। यह 'it_behaves_like' (https: // www का उपयोग करके आरएसपीईसी का उपयोग करने के लिए सरल (आर) होना चाहिए।relishapp.com/rspec/rspec-core/v/2-0/docs/example-groups/shared-example-group) बात, लेकिन सरल टेस्ट :: यूनिट पर आप ऐसी चीजें कर सकते हैं। हो सकता है कि आप ActiveModel :: लिंट: टेस्ट से प्रेरणा ले सकें (http://api.rubyonrails.org/classes/ActiveModel/Lint/Tests.html - https://github.com/rails/rails/blob/master/activemodel /lib/active_model/lint.rb) –