2010-10-16 10 views
25

नहीं ढूंढ सकता है मैं रूबी टेस्ट/यूनिट/mytest.rb के माध्यम से व्यक्तिगत परीक्षण चलाने की कोशिश कर रहा हूं, लेकिन मुझे हमेशा "लोड करने के लिए ऐसी कोई फ़ाइल नहीं है - test_helper" त्रुटि प्राप्त होती है। Google ने कुछ सुझाव दिए, लेकिन उनमें से कोई भी मेरे लिए काम नहीं करता था। मैं रेल 3.0 चल रहा हूँ, रूबी 1.9.2 (RVM के माध्यम से) उबंटू 10.10रेल परीक्षण test_helper

पर यहाँ मैं अब तक की कोशिश की है है - किसी भी सुझाव वास्तव में सराहना की

  • परिवर्तित "test_helper की आवश्यकता होती है" "की आवश्यकता होती है File.dirname (FILE) + "/../test_helper" "परीक्षण/इकाई/mytest_test.rb में।
  • कोशिश चल rvm परीक्षा/यूनिट/mytest_test.rb ऊपर
  • चल माणिक मैं परीक्षण/इकाई/mytest_test कोशिश के रूप में एक ही - यह "परीक्षण/इकाई /../ test_helper लोड करने के लिए ऐसी कोई फ़ाइल" वापस लाता है। rb। टर्मिनल को कोई संदेश नहीं। लगभग 5 मिनट कुछ होने के बाद प्रतीक्षा कर रहे हैं, ctrl + c'd out

किसी भी सुझाव की बहुत सराहना की - मैं स्टंप हो गया हूं।

उत्तर

23

रूबी 1.9.2 लोड पथ से वर्तमान निर्देशिका "हटा दी गई"।

require 'test_helper' 

और इसे पसंद फोन:

ruby -I. unit/person_test.rb 
+2

आक है! बढ़िया - बहुत धन्यवाद। – PlankTon

+4

ruby- सबसे परीक्षण/इकाई/person_test.rb। संदर्भ: http://guides.rubyonrails.org/testing.html#running-tests –

+0

एकमात्र अंतर यह है कि आप वर्तमान निर्देशिका में क्या हैं ... – DGM

12

मैं जोड़ दिया है अपने परीक्षण फ़ाइलों के शीर्ष पर निम्नलिखित मैं यह करने के लिए यह काम करने के लिए प्राप्त करने के लिए किया है।

require File.expand_path("../../test_helper", __FILE__) 

यह पिछले व्यवहार को पुनर्स्थापित करता है और कॉल बस होने के लिए अनुमति देता है:

$ rake test 

की कोई जरूरत नहीं है:

ruby test/unit/person_test.rb 
6

हो सकता है कि आप इस तरह से अपने परीक्षण मामलों चलाना चाहिए यदि आप रेक का उपयोग करते हैं तो जेनरेट कोड से "आवश्यकता" कथन बदलें।

रूबी 1.9.3 के साथ परीक्षण किया गया और रेल 3.2.8

3

रेल 1.9 नहीं रह गया है LOAD_PATH, जो इस समस्या का कारण बनता है में वर्तमान निर्देशिका भी शामिल है। आपके पास कुछ विकल्प हैं।

  1. कॉल एप्लिकेशन dir से मैं विकल्प के साथ परीक्षण:

    माणिक मैं परीक्षण परीक्षण/कार्यात्मक/test_foo.rb

और प्रयोग कोई पथ के साथ एक की आवश्यकता होती है:

require "test_helper.rb" 
  1. की आवश्यकता होती है में एक पूर्ण पथ का उपयोग करें। या तो

    'पथ'

    Pathname.new की आवश्यकता होती है (फ़ाइल) .realpath.dirname.join ('/ की आवश्यकता होती है ../test_helper.rb ')

या

require (File.dirname(File.realdirpath(__FILE__)) + '/../test_helper.rb') 
2

आप एक मणि या इंजन बना रहे हैं, परीक्षण डमी आवेदन निर्देशिका में rake test चल इस त्रुटि का कारण होगा। मणि की जड़ में rake test चलाना इससे बच जाएगा।

11

मैं इस बात अपने आप को आज तो अब यह कैसा दिखता लड़ रहा था और मैं बड़ा फ़ाइल और सामान के लिए पूरे पथ के साथ की आवश्यकता होती है नापसंद ...

मेरे मामले में यह Rakefile की गलती थी ..

इस:

require "bundler/gem_tasks" 
require "rake/testtask" 

Rake::TestTask.new do |t| 
    t.libs << "lib" 
    t.libs << "test" # here is the test_helper 
    t.pattern = "test/**/*_test.rb" 
end 

task default: :test 

मैं अपने पुराने जानते हैं और उत्तर है चिह्नित स्वीकार किए जाते हैं, लेकिन शायद यह भी किसी को मदद मिलेगी :) एक अच्छा दिन

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