lambda - Rspec Mocks: mock / yield the block from a method call -
मुझे यह कोड मिला है:
नेट :: SSH.start (@server , @ उपयोगकर्ता नाम,: पासवर्ड => @ पावर्ड) do | ssh | | आउटपुट = ssh.exec! (@ कमांड) @ logger.info 'एसएसएच आउटपुट:' @ logger.info आउटपुट अंत
मैं एसएसएच का नकली कर सकता हूँ.इस तरह आरएसपीसी की नकली ढांचा का प्रयोग शुरू करो, मुझे बताओ कि मैंने एसएसएच सत्र शुरू कर दिया है:
नेट :: SSH.should_receive (: प्रारंभ) .with ("सर्वर", "उपयोगकर्ता",: पासवर्ड => "गुप्त" ) क्या @ स्टार्टेड = सच्चे अंत यह मुझे बताता है कि क्या मैंने @ ssh सत्र शुरू किया है या नहीं। अब मुझे ssh.exec का नकली होना चाहिए! विधि, जो काफी आसान है:
नेट :: SSH.should_receive (: exec!)। ("Command") के साथ ...
लेकिन मैं कैसे उपज / ब्लॉक कि ssh.exec शामिल कॉल! विधि कॉल, क्योंकि मैंने SSH.start विधि का मज़ाक उड़ाया है? संभवत: कुछ सरल तरीका है कि मैं इस ब्लॉक को निष्पादित करने के लिए कॉल कर सकता हूं, लेकिन मुझे नहीं पता कि यह कैसा है और आरएसपीसी के मजाकिया ढांचे पर वास्तव में अच्छा स्पष्टीकरण / दस्तावेज़ीकरण नहीं मिल सकता है।
< Div class = "post-text" itemprop = "text">
नेट :: SSH.should_receive (: प्रारंभ) .with ("server", "user",: password = & gt; "secret")
सुनिश्चित नहीं है कि आपको @started
को सेट करने की आवश्यकता क्यों है, क्योंकि should_receive
पुष्टि करता है कि विधि को बुलाया गया है।
Comments
Post a Comment