2010-08-23 12 views
13

मैं वर्तमान में आईफोन विशिष्ट HTML मेटा-टैग जेनरेट करने के लिए उपयोग की जाने वाली रेल प्लगइन पर काम कर रहा हूं। मैं यूनिट परीक्षणों के लिए एक्शन व्यू :: टेस्टकेस का उपयोग करने की कोशिश कर रहा हूं लेकिन एक ही त्रुटि प्राप्त करना जारी रखता हूं। फ़ाइल सामग्री और नीचे त्रुटि देखें। किसी भी विचार या मदद की सराहना की जाएगी।परीक्षण देखने वाले मददगार

test_helper.rb

require 'rubygems' 
require 'test/unit' 
require 'active_support' 
require 'action_view' 
require File.join(File.dirname(__FILE__), '..', 'lib', 'iphone_helper') 

iphone_test_helper.rb

require 'test_helper' 

class IphoneHelperTest < ActionView::TestCase 
    test 'br' do 
    tag = tag('br') 
    assert_tag_in tag, '<br />' 
    end 
end 

त्रुटि

RuntimeError: In order to use #url_for, you must include routing helpers explicitly. For instance, `include Rails.application.routes.url_helpers 
+0

ठीक है, यह एक बेवकूफ सवाल हो सकता है, शायद है, लेकिन क्या आपने त्रुटि संदेश में शामिल लाइन को जोड़ने का प्रयास किया है? – jasonpgignac

+0

हां मैंने लाइन जोड़ने की कोशिश की है जिसने मुझे एक और त्रुटि दी है 'अनियमित स्थिर IphoneHelperTest :: Rails' –

+0

ठीक है, बस अनुमान लगा रहा है, लेकिन शायद url_helpers लाइन को व्यक्तिगत परीक्षण-मामले के बजाय परीक्षण-सहायक में शामिल करने की आवश्यकता है? –

उत्तर

4

बेकार और ज acky वैकल्पिक हल है कि मेरे लिए काम किया (के बाद से मैं और एक पूर्ण रेल वातावरण में नहीं एक मणि पर काम कर रहा हूँ):

require 'ostruct' 

module ActionController::UrlFor 
    def _routes 
    helpers = OpenStruct.new 
    helpers.url_helpers = Module.new 
    helpers 
    end 
end 
1

आप एक पुराने तरीके ?:

include ActionDispatch::Routing::RouteSet 
में the respective Module शामिल करने के लिए प्रयास किया था

यदि NameError आपको बता रहा है कि एक्शनडिस्पेच अज्ञात है तो आपको require 'action_dispatch' होना चाहिए।

0

शायद एक बेवकूफ सवाल है, लेकिन यह तथ्य है कि कक्षा का नाम और फ़ाइल का नाम संभावित रूप से किसी समस्या से मेल नहीं खाता है (IphoneHelperTest बनाम iphone_test_helper.rb)? कभी-कभी कक्षाओं को लोड नहीं किया जाता है।

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