2012-02-26 3 views
0

실패 . 그래서 나는 무엇을 여기에서 놓치고 있냐?내가 JRuby를 사용하여 Windows에 가드를 설정하기 위해 노력하고있어 나는이 출력을 얻고있다

$ rspec 
←[32m.←[0m←[32m.←[0m←[32m.←[0m←[32m.←[0m←[32m.←[0m←[32m.←[0m←[32m.←[0m←[32m.←[0m 


Finished in 1.39 seconds 
←[32m8 examples, 0 failures←[0m 

rspec.bat의 경로를 내 PATH 환경 변수에 추가했습니다.

그런데 저는 Windows에서 일하고 있습니다. 내가 같은 오류가 나는 실행하는 경우가 bundler 버그 생각

source 'https://rubygems.org' 

gem 'rails', '3.2.2.rc1' 

# Bundle edge Rails instead: 
# gem 'rails', :git => 'git://github.com/rails/rails.git' 

gem 'activerecord-jdbcsqlite3-adapter' 

gem 'jruby-openssl' 
gem 'json' 

group :development do 
    gem 'rspec-rails' 
    gem 'guard-rspec' 
end 

group :test do 
    gem 'rspec-rails' 
    gem 'guard-rspec' 
    gem 'capybara', '1.1.2' 
    gem 'rb-fchange', '0.0.5' 
    gem 'rb-notifu', '0.0.4' 
    #gem 'win32console', '1.3.0' 
end 
# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    gem 'therubyrhino' 

    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

# To use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# To use Jbuilder templates for JSON 
# gem 'jbuilder' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'ruby-debug' 

답변

1

: 우분투에 나는 시간에 일하는 모든 ...

UPDATE Gemfile을 가지고

bundle exec rspec spec 

내가 코멘트를 작동하게하고 guard-rspec 소스 파일에 몇 가지 코드를 추가하도록 관리한다.

파일 열기 :

C:\jruby-1.6.7\lib\ruby\gems\1.8\gems\guard-rspec-0.6.0\lib\guard\rspec\runner.rb 

것을 제외하고이 경로가 사용자 컴퓨터에 개의 다른 될 수 있습니다. 어쨌든 guard-rspec 보석 원본으로 이동하여 runner.rb 파일을 엽니 다.

그리고이에 rspec_command을 변경 : 내가 만든

def rspec_command(paths, options={}) 
    warn_deprectation(options) 

    cmd_parts = [] 
    cmd_parts << "rvm #{options[:rvm].join(',')} exec" if options[:rvm].is_a?(Array) 
    cmd_parts << "bundle exec" if (bundler? && options[:binstubs] == true && options[:bundler] != false) || (bundler? && options[:bundler] != false) 
    cmd_parts << "'" 
    cmd_parts << rspec_exec(options) 
    cmd_parts << options[:cli] if options[:cli] 
    cmd_parts << "-f progress" if options[:cli].nil? || !options[:cli].split(/[\s=]/).any? { |w| %w[-f --format].include?(w) } 
    #cmd_parts << "-r #{File.dirname(__FILE__)}/formatters/notification_#{rspec_class.downcase}.rb -f Guard::RSpec::Formatter::Notification#{rspec_class}#{rspec_version == 1 ? ":" : " --out "}/dev/null" if options[:notification] != false 
    cmd_parts << "--failure-exit-code #{failure_exit_code}" if failure_exit_code_supported?(options) 

    cmd_parts << paths.join(' ') 
    cmd_parts << "'" 

    cmd_parts.join(' ') 
    end 

변경 : 그것뿐만 아니라 당신의 컴퓨터에서 작동합니다 그래서, 여기서 일하는

1. commented on of the lines 
2. Added 2 code line to add "quotes" to the string builder. 

합니다. 번들러 https://github.com/carlhuda/bundler/issues/1689에 문제가 있습니다.

+0

여전히 같은 오류가 발생합니다 ...하지만 cmd_parts를 추적하면 다음과 같이됩니다 : bundle exec rspec -f progress --failure-exit-code 2 spec spec '이제 exec bundle rspec spec을 실행하면 오류가 발생합니다 : bundler : 명령을 찾을 수 없습니다 : rspec ... 어쩌면 이것은 다른 원인이 있습니까? rspec 사양 잘 작동, 번들 exec rspec 사양 작동하지 않습니다. (Windows). –

+0

github에서 보면 실제로 bundle exec "rspec spec"이 잘 작동합니다. 이상한. 그러나 Guard는 여전히 작동하지 않지만 라인을 추가하는 것을 잊어 버렸습니다. –

+0

Thx, 지금은 정상적으로 작동하고 그 동안 나는 보석을 디버깅하는 방법을 배웠습니다. –