2009-03-19 3 views
2

저는 BDD와 TDD에 대해 더 많이 배우기를 희망하면서 내 컴퓨터 중 하나에서 RSpec 자습서를 따라 왔습니다. 내 설치는 Rails 2.2.2 및 Rspec 1.1.12와 함께했습니다.이전 버전의 Rspec으로 스펙을 실행하려면 어떻게해야합니까?

오늘 밤 나는 주 컴퓨터에서 계속하기로 결정하고 휴대용 컴퓨터에서 내 바탕 화면으로 코드를 옮겼습니다. RSpec을 가지고 있지 않아, 나는 보석을 설치했다. . .

sudo gem install rspec 
sudo gem install rspec-rails 

투쟁과 칼럼니스트! Rspec의 새로운 버전이 설치되었습니다! 1.2.0! 그리고 지금 내 테스트는 모든 곳에서 실패하고 있습니다! 후속 작업을하고 최신 버전을 배우려는 의도는 있지만 처음부터 다시 시작하지 않고 자습서의 나머지 부분을 완성하고 싶습니다. 궁금. 설치하고 이전 Rspec 1.2.12에 대해 내 코드를 실행하고 싶다고 지정하는 방법이 있습니까?

답변

3

VERSION을 지정하여 제거하고 다시 설치할 수 있습니다. 설명했다 here.

+0

내 경험에 의하면, 이것을하는 유일한 방법입니다 ... rspec은 최신 버전을 "활성화"또는 일부 변경하는 몇 가지 종속성이 있습니다. 내부는 100 %가 아닙니다. 그러나 제거가 수정됩니다. –

3

당신은 아마 당신이 당신의 environment.rb에 파일에서 응용 프로그램 다음 2.2 레일 애플 리케이션과 2.3 레일을해야하는 경우에 지정 컴퓨터에서 하나 이상의 버전을하려면 :

config.gem, 'rspec', :lib => 'spec', :version => '1.1.12' 

와 당신 응용 프로그램은 그 gem spec과 함께 사용되는 rspec-rails gem을 사용할 것입니다. 이렇게하면 각 appliction에 적절한 보석을 사용할 수 있습니다.

script/spec spec/controllers/treasury_accounts_controller.rb 

이 오류가 과거를 얻을 :

2

내 환경/test.rb 파일의 RSpec에와 RSpec에 레일 버전을 지정하는 것 외에도, 나는 예를 들어, spec 앞에 script/ 추가
/opt/ror/ruby-ee-1.8.7-2011-03/lib/ruby/site_ruby/1.8/rubygems.rb:335:in `bin_path': can't find executable spec for rspec-2.1.0 (Gem::Exception) 
    from /opt/ror/ruby/bin/spec:19 
관련 문제