2011-11-12 7 views
9

मैं कैसे जांच सकता हूं कि एक विधि हैश को लौटाती है जिसमें विशिष्ट कुंजी होती है और उन चाबियों के मान RSpec का उपयोग करके शून्य नहीं होते हैं?परीक्षण है कि हैश में विशिष्ट कुंजी हैं और उन कुंजियों के लिए मान शून्य नहीं हैं

उत्तर

8

कुछ इस तरह:

test_method.values_at("key1", "key2").should_not include(nil) 
+1

यदि हैश का मान वास्तव में 'शून्य 'है तो यह काम नहीं करेगा। 'हैश.की.शोल्ड = ~ [: की 1,: की 2] 'चाल चलनी चाहिए। –

9

मैं लिखने चाहते हैं:

describe MyObject do 
    describe "#my_method" do 
    subject(:my_method) { MyObject.new.my_method } 

    it { is_expected.to be_a_kind_of(Hash) } 
    specify { expect(my_method.keys).to include(:key1, :key2) } 
    specify { expect(my_method.values).not_to include(nil) } 
    end 
end 

यह हो सकता है आप "कुंजी 1" औंधा अल्पविराम के में, "कुंजी 2" कुंजी का उपयोग करना होगा। अन्यथा यह त्रुटि फेंक सकता है।

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

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