답변:
다음이 작동해야합니다.
rails new MYAPP -T # The -T option tells rails not to include Test::Unit
gem 'rspec-rails'
bundle install
rails g rspec:install
generator.rb
이니셜 라이저 가 필요하지 않습니다 . 이것은 RSpec의 railtie가 처리합니다. 필요한 것은 발전기 그룹에 필요한 그룹 rspec-rails
내에 있습니다. 로 앱을 생성 할 필요가 없습니다 .development
Gemfile
-T
test
디렉토리를 하면 작동합니다.
"rails/test_unit/railtie"
댓글을 달았습니다application.rb
rspec-rails
젬 을 추가 할 때 젬을 테스트 하고 개발 하는 것이 중요 합니다. 그렇지 않으면 위 단계를 수행하더라도 생성기가 RSpec을 사용하지 않습니다.
다음과 같이 새 레일 애플리케이션을 작성하십시오.
rails new <app_name> -T
또는 test
기존 애플리케이션에서 디렉토리를 제거하십시오 .
rm -rf test/
Gemfile에 항목을 작성하십시오.
gem 'rspec-rails'
명령 행에서 gem을 설치하십시오
$ bundle install
명령 행에서 rspec을 응용 프로그램에 설치하십시오.
$ rails g rspec:install
이제 Rails 애플리케이션은 테스트 단위 대신 RSpec을 사용합니다.
다음을 사용하여 rails 응용 프로그램을 만든 후 :
rails new <app_name> -T # to exclude Test::Unit
다음과 같은 방법으로 RSpec gem을 Gemfile에 추가하십시오 :
group :development, :test do
gem "rspec-rails"
end
커맨드 라인에서 :
bundle install # this will install the missing gems
이제 다음을 실행하여 RSpec을 설치해야합니다.
rails generate rspec:install
다음과 같은 파일이 생성됩니다.
create .rspec
create spec
create spec/spec_helper.rb
create spec/rails_helper.rb
각 옵션의 기능을 제대로 이해하려면 모든 spec_helper 및 rails_helper 주석을 읽어 보는 것이 좋습니다.
모든 것이 설정되면 다음을 사용하여 모든 테스트를 실행할 수 있습니다.
bundle exec rspec
https://kolosek.com/rails-rspec-setup 에서 권장 spec_helper 및 rails_helper 구성에 대한 자세한 내용을 읽을 수 있습니다 .
나는 새로운 개발자이고 방금 OP의 문제를 해결하기 위해 rails 플래그 (-rspec)를 만들었습니다. Test :: Unit을 제거하고 bash 스크립트와 함께 rails-rspec gem을 삽입합니다. Rubyracer gem을 자동으로 추가하거나 사용자 정의 플래그 및 gemset을 생성하여 Linux 개발자를 돕기 위해 스크립트를 수정할 수 있습니다. (특히 보석 라인으로 이동하여 주석을 삭제)
여기 요점이 있습니다. & 이것이 누군가를 도울 수 있기를 바랍니다. https://gist.github.com/MTen/8310116