2012-06-19 20 views
6

में एक spec सहायक बनाने के लिए मेरे पास कुछ अलग-अलग चश्मे में उपयोग की जाने वाली कुछ सामान्य विधियां हैं, मैं उन सभी चश्मे से सुलभ एक स्पेस सहायक जैसे कुछ जगहों पर निकालना चाहता हूं। क्या कोई जानता है कि इसे कैसे करना है?rubymotion

उत्तर

1

यहां कुछ ऐसा है जो spec_helper की तरह quaa quacks। ध्यान में रखना

# my_view_spec.rb 

describe "MyView" do 
    extend SpecHelper 

    before do 
    foo_helper 
    end 
    ... 


दो बातें::

# _spec_helper.rb 

module SpecHelper 
    ::App::Persistence = {} 

    # global `before :each` ish 
    def self.extended(base) 
    base.before do 
     ::App::Persistence.clear 
    end 
    end 

    def foo_helper 
    end 
end 

और फिर इसका इस्तेमाल

  1. युक्ति सहायक फ़ाइल इस तरह जिस तरह से यह पहले से भरी हुई हो जाता है कि में नामित किया गया है (प्रमुख अंडरस्कोर)

  2. व्यक्तिगत चश्मे चलाते समय (उदाहरण के लिए files=my_view_spec.rb) सहायक फ़ाइल साथ जाने चाहिए - files=spec/my_view_spec.rb,spec/_spec_helper.rb

+0

मैंने इस समाधान का उपयोग थोड़ा अलग समस्या हल करने के लिए किया था, इसलिए इसके लिए बहुत बहुत धन्यवाद! मुझे आशा है कि इस तरह कुछ "आधिकारिक" अंततः रूबिमोशन में अपना रास्ता पाता है। –

0

मैं सिर्फ अपनी आम चश्मा में प्रयुक्त विधियों के रूप में वे कर रहे हैं (एक कल्पना/support/utilities.rb फ़ाइल में एक Module या कुछ भी) में समाहित नहीं फेंक और रूबिमशन उन्हें ठीक से चुनता प्रतीत होता है, हालांकि मुझे नहीं पता कि यह ऐसा करने का "उचित" तरीका है या नहीं।

0

वर्तमान http://www.rubymotion.com/developer-center/articles/testing/#_spec_helpers

युक्ति सहायकों के अनुसार एक RubyMotion परियोजना की कल्पना/सहायकों निर्देशिका के अंतर्गत बनाई गई हैं। एक उदाहरण spec/helpers/extension.rb हो सकता है।