2010-10-04 24 views
5

पर रुपेक + ऑटोटेस्ट काम कर रहा है मैंने अपनी विंडोज 7 मशीन पर growl + rspec + autotest इंस्टॉल किया है। कमांड प्रॉम्प्ट से, जब मैं 'rspec spec /' टाइप करता हूं तो यह काम नहीं करता है। परीक्षण केवल तभी चलेंगे जब मैं 'रेक स्पेक /' + 'ऑटोटेस्ट' का उपयोग करता हूं।विंडोज़

इसके अलावा, मैं इन परीक्षणों को चला रहा हूं: http://railstutorial.org/chapters/static-pages#code:default_pages_controller_spec (यानी बहुत, बहुत छोटा) और वे 8.11 सेकंड ले रहे हैं।

जब भी मैं उन्हें चलाता हूं तो वे भी असफल होते हैं - भले ही वे उदाहरण में न हों। मैंने ट्यूटोरियल को जो कुछ भी बताया है, मैंने किया है, समस्या यह है कि ट्यूटोरियल विंडोज मशीन पर आरएसपीईसी स्थापित करने में बहुत गहरा नहीं होता है। यह एक लिंक देता है, लेकिन तब भी आपको निर्देशों को एकसाथ टुकड़ा करना होगा।

त्रुटियों मैं मिलता है 'Failure/Error: Unable to find C to read failed line [31mundefined methord get' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x48336c0>'

दूसरा त्रुटि बहुत कि के समान है।

मैंने ग्रोल को सही तरीके से स्थापित किया है, क्योंकि मुझे एक अधिसूचना मिलती है कि दो विफलताएं थीं।

किसी को भी मेरी मदद कर सकते हैं?

+0

marcamillion, जब आप एक मौका मिलता है, तो आप रूबी, रेल, rspec और Autotest का सही संस्करण है कि आप के साथ इस समस्या को देखने के साथ टिप्पणी कर सकता है? मैं इसे इनमें से प्रत्येक के नवीनतम स्थिरता के साथ पुन: उत्पन्न करने की कोशिश करने जा रहा हूं, लेकिन अगर मैं आपके संस्करणों को जानना चाहता हूं। – carols10cents

उत्तर

1

मुझे अभी तक एक स्थायी फिक्स नहीं मिला है जो कि अभी तक काम करता है, लेकिन स्पष्ट रूप से यह पथ के मुद्दे पर उबाल जाता है - कुछ विंडोज़ पथ को घुमा रहा है और यह टूट जाता है। हालांकि, वहाँ एक काम के आसपास है:

के भीतर अपने वर्णन है, इससे पहले कि कॉल 'के लिए', डाल इस:

RSpec :: रेल :: ControllerExampleGroup शामिल

यहाँ के लिए एक उत्पन्न रेल कल्पना का उपयोग कर नमूना कोड एक नियंत्रक ध्यान दें कि यह गुंजाइश की शुरुआत में बताया गया है:

require 'spec_helper' 

describe PagesController do 
    include RSpec::Rails::ControllerExampleGroup 

    describe "GET 'home'" do 
    it "should be successful" do 
     get 'home' 
     response.should be_success 
    end 
    end 

    describe "GET 'contact'" do 
    it "should be successful" do 
     get 'contact' 
     response.should be_success 
    end 
    end 

end 

वहाँ एक ठीक मैंने देखा है कि (रेल मामले में) spec_helper में होने वाले बदलाव का सुझाव है, लेकिन मैं यह काम करने के लिए नहीं मिल सका।

संपादित करें: थोड़ा और शोध बताता है कि यह ऑटोस्पेक के साथ एक समस्या है - यदि आप बस आरएसपीईसी का उपयोग कर रहे हैं तो यह काम काम करेगा, लेकिन ऑटोटस्ट के साथ काम नहीं करेगा। हालांकि, मैं इसके लिए कोई समाधान नहीं ढूंढ पाया।

+0

ये ... मैं ऑटोटेस्ट का उपयोग कर रहा हूं :( – marcamillion

2

मैंने थोड़ा गुगल किया, और this thread on the rspec ruby forum और this closed rspec-rails issue के अनुसार, यह आरएसपीईसी-रेल के साथ एक मुद्दा है जो तय किया गया है।

मैं रेल 3.0.3 का उपयोग कर विंडोज 7 पर रुबी 1.9.2p136 चला रहा हूं।

यह वही मेरी Gemfile देखा, की तरह जो rspec और rspec-रेल के संस्करणों है कि मैं उपयोग कर रहा था पता चलता है:

source 'http://rubygems.org' 

gem 'rails', '3.0.3' 
gem 'sqlite3-ruby', :require => 'sqlite3' 

group :development do 
    gem 'rspec-rails', '2.4.1' 
end 

group :test do 
    gem 'rspec', '2.4.0' 
    gem 'webrat', '0.7.1' 
end 

मैं कहता हूँ "की तरह दिखाई देता है" क्योंकि जब मैं rspec पटरियों जनरेटर भागने की कोशिश की , यह मैं क्या मिल गया है:

C:\Ruby\sample_app>rails generate rspec:install 
    create .rspec 
    create spec 
    create spec/spec_helper.rb 
Could not find "autotest" in any of your source paths. Your current source paths 
are: 
C:/Ruby/sample_app/lib/templates/rspec/install 
C:/Ruby/192-stackoverflow/lib/ruby/gems/1.9.1/gems/rspec-rails-2.3.0/lib/generators/rspec/install/templates 

तो फिर मैं अपने Gemfile को Autotest जोड़ा (और बंडल को फिर से स्थापित किया था), तो रेल rspec उत्पन्न करने की कोशिश की: फिर से स्थापित करें और उसे कोई त्रुटि के साथ काम किया। तो यही मेरा जेमफाइल अब जैसा दिखता है:

source 'http://rubygems.org' 

gem 'rails', '3.0.3' 
gem 'sqlite3-ruby', :require => 'sqlite3' 

group :development do 
    gem 'autotest' 
    gem 'rspec-rails', '2.4.1' 
end 

group :test do 
    gem 'rspec', '2.4.0' 
    gem 'webrat', '0.7.1' 
end 

और यह इंस्टॉल करने वाला स्वाभाविक संस्करण 4.4 है।6:

C:\Ruby\sample_app>bundle show autotest 
C:/Ruby/192-stackoverflow/lib/ruby/gems/1.9.1/gems/autotest-4.4.6 

मैं तो नियंत्रक के रूप में ट्यूटोरियल में निर्देश दिए बनाया:

$ rails generate controller Pages home contact 

और मैं आपको त्रुटि प्राप्त बिना दोनों "बंडल कार्यकारी Autotest" और "rspec कल्पना /" चलाने के लिए सक्षम था देख रहे हैं:

C:\Ruby\sample_app>bundle exec autotest 
loading autotest/rspec2 
bundle exec C:\Ruby\192-stackoverflow\bin\ruby -S C:/Ruby/192-stackoverflow/lib/ruby/gems/1.9.1/gems/rspec-core-2.4.0/bin/rspec --tty 'C:/Ruby/sample_app/spec/controllers/pages_controller_spec.rb' 
.. 

Finished in 23.04 seconds 
2 examples, 0 failures 
# I killed autotest with CTRL-c at this point 
Interrupt a second time to quit 
Terminate batch job (Y/N)? y 
Terminate batch job (Y/N)? y 


C:\Ruby\sample_app>rspec spec/ 
.. 

Finished in 23.11 seconds 
2 examples, 0 failures 

मैं भी, ट्यूटोरियल के साथ आगे बढ़ा, के बारे में पृष्ठ के लिए चश्मा लिखते समय Autotest चल रहा था और यह किसी भी समस्याओं के बिना मेरे परिवर्तन पर चल रहा था।

तो प्रयास करें:

  1. अपने Gemspec मेरी 2nd यहाँ
  2. तैनात रनिंग
  3. चल रहा है 'बंडल कार्यकारी Autotest' 'बंडल स्थापित'

और के लिए इसी तरह देखने के लिए अद्यतन कर रहा है मुझे बताएं कि क्या वह काम करता है। मैं वापस जांच करूँगा!

1

मैंने सोचा था कि यह जो अब है कि सभी जवाहरात काफ़ी (विशेष रूप से पर रूबी का उपयोग कर 3 ट्यूटोरियल उन लोगों के लिए) अपडेट किया गया है परेशानी हो रही हो सकता है उन लोगों के मदद कर सकता है:

मैं इस काम के प्राप्त करने में सक्षम था

मेरे Gemfile: सभी जवाहरात के नवीनतम संस्करण का उपयोग कर

source 'https://rubygems.org' 

gem 'rails', '3.2.6' 
gem 'jquery-rails' 

gem 'sqlite3', :group => [:development, :test] 
gem 'pg', :group => :production #This is so Heroku will work 

group :development do 
    gem 'rspec-rails' 
end 

group :test do 
    gem 'rspec' 
    gem 'webrat' 
    gem 'spork-rails' #Use this is only if you want to use spork 
end 

(, पर रूबी का उपयोग कर 3 ट्यूटोरियल द्वारा उदाहरण के लिए) सुनिश्चित करें कि आप rspec को साफ करता है, तो आप पहले से ही एक पुराने संस्करण मिल गया है सुनिश्चित करें : https://stackoverflow.com/a/4433217/911133

Autotest उपयोग करने के लिए यहाँ निर्देशों का पालन करें: https://github.com/svoop/autotest-growl

ध्यान दें कि ग्राउल के लिए खिड़कियों से स्थापित है कि सौदा का हिस्सा है और गिरह नहीं की जरूरत है: http://www.growlforwindows.com/

आपका .autotest फ़ाइल हो सकता है

C:\users\joeblow\.autotest 
: दो स्थानों

1) आपकी होम निर्देशिका है, जो (उदाहरण) में से एक में 63,210

2) रेल आवेदन रूट (यह तो है कि केवल ऐप्लिकेशन)

मेरी .autotest फ़ाइल इस तरह दिखता है के लिए काम करेंगे:

require 'autotest/growl' 
require 'autotest/restart' 
require 'autotest/timestamp' 

Autotest.add_hook :initialize do |autotest| 
    autotest.add_mapping(%r%^spec/(requrests)/.*rb$%) do 
|filename, _| 
filename 
end 
end 

Autotest::Growl::clear_terminal = false 

सुनिश्चित करें कि आप एक

'बंडल स्थापित' किया है

तो खिड़कियों के लिए बादल की गरज चलाने (प्रारंभ मेनू या विंडोज़ बूट पर शुरू) कमांड लाइन में

रन Autotest और तुम जाना अच्छा होना चाहिए!

c:\users\joeblow\workspace\Rails\MyRailsProject> autotest