2010-05-12 13 views
6

में एक अलग नियंत्रक को एक अलग पोस्ट को कॉल करने के लिए कैसे करें मैं अपने कार्यात्मक परीक्षण के अंदर एक अलग नियंत्रक को एक पोस्ट अनुरोध करना चाहता हूं जो किसी विशेष नियंत्रक के लिए है। हालांकि ActiveController क्लास में पोस्ट विधि केवल कॉल करने के लिए विधि लेती है, यह नियंत्रक नाम को कॉल नहीं करता है। किसी भी विचार कैसे एक अलग नियंत्रक का आह्वान करने के लिए?रेल फंक्शनल टेस्ट

+0

आप एक कार्यात्मक परीक्षण में एक अलग नियंत्रक को कॉल करने का प्रयास क्यों कर रहे हैं? आप जो चाहते हैं उसे पूरा करने का एक बेहतर तरीका हो सकता है। – Pete

+0

इसलिए कार्यक्षमता जिसे मैं परीक्षण करने की कोशिश कर रहा हूं, में दो नियंत्रक शामिल हैं। क्या मुझे एक कार्यात्मक परीक्षण के बजाय एकीकरण परीक्षण का उपयोग करना चाहिए? – Snehal

उत्तर

4

जब आप ActiveSupport::TestCase का उपयोग कर नियंत्रकों के लिए परीक्षण बनाते हैं, तो आप यह निर्धारित कर सकते हैं कि कौन सा नियंत्रक परीक्षण करता है जब आप अनुमानित नहीं चाहते हैं।

तो आप वर्तमान नियंत्रक के लिए अपने परीक्षण में एक और कक्षा जोड़ सकते हैं, नियंत्रक को नई कक्षा के भीतर परीक्षण करने के लिए सेट कर सकते हैं, और अपने परीक्षण मामलों को लागू कर सकते हैं।

आप कोड प्रदान नहीं किया तो मैं एक कोडित समाधान प्रदान नहीं कर सकते, लेकिन यहाँ एक ब्लॉग RSpec के तहत नियंत्रक पर सभी तरीकों का परीक्षण के बारे में पोस्ट है: http://blog.wolfman.com/articles/2007/7/28/rspec-testing-all-actions-of-a-controller

[व्यक्तिगत रूप से, मैं दूर RSpec/TestUnit से नियंत्रक के लिए ले जाया गया मार्ग जांच और अस्पष्ट परीक्षण से परे परीक्षण। मैं सिस्टम के कई हिस्सों को शामिल करने के लिए एकीकरण परीक्षण (उदा। ककड़ी) पसंद करता हूं।]

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