rspec

2012-01-05 12 views
6

में वर्णन टेक्स्ट का उपयोग कैसे करें मैं कुछ चश्मे लिख रहा हूं जो टेम्पलेट फ़ाइलों को एक मणि में परीक्षण करते हैं जिसमें रेल के लिए जेनरेटर हैं। मैं नीचे rspec कल्पना में "admin_layout.html.erb" करने के लिए उपयोग करने के लिए अच्छा लगेगा:rspec

require 'spec_helper' 

describe "admin_layout.html.erb" do 

    it "has page title Admin" do 
    HERES WHERE I WOULD LOVE TO HAVE ACCESS TO "admin_layout.html.erb" AS A VARIABLE 
    end 

end 
+0

मैं उत्सुक हूं, यह आपको क्या करने देगा? – Gareth

+0

मैं रेल में एक व्यवस्थापक जनरेटर का निर्माण कर रहा हूं, और मैं टेम्पलेट्स की सामग्री के बारे में कुछ मूलभूत बातें जांचने की कोशिश कर रहा हूं कि जेनरेटर मैं लिख रहा हूं –

उत्तर

10

आप self.class.description का उपयोग इस जानकारी पाने के लिए कर सकते हैं:,

it "has page title Admin" do 
    layout = self.class.description 
    # => "admin_layout.html.erb" 
end 

हालांकि मन इस वसीयत में रखना केवल पहले माता-पिता का वर्णन दें। इसलिए यदि आपके describe ब्लॉक में संदर्भ हैं, तो संदर्भों के भीतर उदाहरण self.class के लिए संदर्भ नाम describe ब्लॉक के नाम के बजाय संदर्भ नाम देंगे। उस स्थिति में, आप मेटाडेटा का उपयोग कर सकते हैं:

describe "admin_layout.html.erb", :layout => "admin_layout.html.erb" 
    context "foo" do 
    it "has page title Admin" do 
     layout = example.metadata[:layout] 
    end 
    end 
end 
+3

'example.metadata [: full_description]' उपयोगी भी हो सकता है – zetetic

+6

आरएसपीईसी 3, 'RSpec.current_example.metadata [...] 'का उपयोग करें। [इस मुद्दे] देखें (https://github.com/rspec/rspec-rails/issues/1123)। – fiedl