[ruby-on-rails-3] 새로운 Rails 앱을 만들 때 Rails가 테스트 유닛 대신 RSpec을 사용하도록하려면 어떻게해야합니까?

나는 한 test-unit설치와 rspec(과 함께 설치 -core, -expectations, -mocks-rails2.6.x 버전). 명령을 실행할 때 대신 테스트 스텁 파일을 생성하는 rails new foo데 사용 test-unit됩니다 rspec.

대신 rspec을 사용하여 테스트를 생성하도록 레일에 지시 할 수있는 옵션이 있습니까?



답변

다음이 작동해야합니다.

명령 행에서 :

rails new MYAPP -T # The -T option tells rails not to include Test::Unit

Gemfile에서 :

gem 'rspec-rails'

명령 행에서 :

bundle install
rails g rspec:install


답변

다음과 같이 새 레일 애플리케이션을 작성하십시오.

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


답변

railsCLI 로이를 수행하는 기본 방법은 없습니다 . test-unit: 없이 새로운 프로젝트를 생성

rails new rails-app --skip-test

그런 다음 rspec지침에 따라 새 Rails 앱에 통합하십시오.


답변