मैं यह जांचना चाहता हूं कि कोई फ़ंक्शन मिनीटेस्ट रूबी के साथ अन्य कार्यों को ठीक से आमंत्रित करता है, लेकिन मुझे doc से परीक्षण करने के लिए उचित assert
नहीं मिल रहा है।रूबी न्यूनतमतम ढांचे के साथ कुछ विधि को कैसे ज़ोर दिया जाता है?
class SomeClass
def invoke_function(name)
name == "right" ? right() : wrong()
end
def right
#...
end
def wrong
#...
end
end
परीक्षण कोड:
describe SomeClass do
it "should invoke right function" do
# assert right() is called
end
it "should invoke other function" do
# assert wrong() is called
end
end
ठोस वस्तु संस्करण के लिए, वहाँ 'जब' minitest/spec' – Frost
का उपयोग कर मुझे बताओ के लिए must_send' है अगर मुझे कुछ याद आ रहा है लेकिन मुझे लगता है कि नीचे @ jing-li द्वारा जवाब सही है कि 'assert_send' यहां उचित नहीं है। ओपी परीक्षण करना चाहता है कि 'invoke_function' कहलाए जाने पर' दाएं 'कहा जाता है। इसके अतिरिक्त, इस उत्तर के पहले भाग में मॉक ऑब्जेक्ट पर 'दाएं' कहा जाता है, यह सुनिश्चित करने के लिए 'obj.verify' की आवश्यकता है। इसे पढ़ने के लिए, कृपया सुनिश्चित करें कि आप उन्हें पास करने से पहले अपने परीक्षण विफल हो जाएं। – monozok
मुझे लगता है कि assert_send का उपयोग करना एक सुरक्षित विकल्प नहीं है। दस्तावेज़ों के अनुसार: http://ruby-doc.org/stdlib-2.0.0/libdoc/minitest/rdoc/MiniTest/Assertions.html#method-i-assert_send –