2011-04-12 9 views
9

रेल 3 के साथ, रूबी 1.9, और टेस्ट :: यूनिट, एक कार्यात्मक परीक्षण पर डीबगर का आह्वान करने का सही तरीका क्या है? परीक्षण: functionals: मैं "डिबगर" जोड़ने और फिर रेक चल कोशिश की हैमैं एक रेल कार्यात्मक परीक्षण में डीबगर का उपयोग कैसे करूं?

class AdminControllerTest < ActionController::TestCase 
    test "should get index" do 
     debugger 
     get :index 
     assert_redirected_to welcome_url 
    end 
end 

लेकिन रूबी डिबगर के लिए कॉल (परीक्षण आगे चला जाता है और सामान्य रूप से चलता है) की अनदेखी करने लगती है। यदि मैं सीधे परीक्षण चलाने का प्रयास करता हूं:

ruby -r debug test/functional/admin_controller_test.rb 

तब रूबी test_helper.rb नहीं ढूंढ सकता। तो नीचे दिए गए जवाब के बाद, मैं चलाएँ:

ruby -I "lib:test" test/functional/admin_controller_test.rb 

तो यह test_helper पाता लेकिन फिर से डिबगर लागू बिना पूरा होने से परीक्षण चलाता है।

gem 'ruby-debug19', :require => 'ruby-debug', :group => :development 

उत्तर

9

मैं हमेशा बस का उपयोग कर डिबग परीक्षण कर लिया है:,

ruby -I"lib:test" test/functional/admin_controller_test.rb 

मैं अपने .rdebugrc फ़ाइल में निम्न मिल गया है अगर यह मदद करता है:

मेरे Gemfile है
set autolist 
set autoeval 
set autoreload 
set forcestep 
+0

नहीं, वह मेरे लिए डिबगर की शुरूआत नहीं कर रहा है; टेस्ट को जोड़ने के बाद भी परीक्षण पूरा हो जाता है। rdebugrc। –

+1

लेकिन आप अपने ऐप को डीबग कर सकते हैं, सिर्फ परीक्षण नहीं? क्या आपका "मणि 'रूबी-डीबग 1 9' है:: आवश्यकता => 'रूबी-डीबग' 'आपके में शामिल है: परीक्षण समूह के साथ-साथ: विकास? – njorden

+6

बिंग बिंग बिंग! मेरे पास केवल रूबी-डीबग 1 9 था: विकास समूह में। –

3

आपको ruby-debug19 मणि की आवश्यकता होगी।

+0

मैं पहले से ही करता हूं; यह दिखाने के लिए सवाल संपादित किया। –

1

मुझे यह समस्या थी और मेरे जेमफाइल में परीक्षण समूह में 'डीबगर' जोड़कर इसे ठीक किया गया।

Gemfile:

group :test do 
    gem "debugger" 
end 

कमान:

bundle exec ruby -Itest test/unit/user_test.rb -n test_the_truth 
संबंधित मुद्दे