How can I tell Rails to use RSpec instead of test-unit when creating a new Rails app?

后端 未结 5 575
遥遥无期
遥遥无期 2021-01-29 20:51

I have test-unit installed and rspec installed (along with -core, -expectations, -mocks and -rails

相关标签:
5条回答
  • 2021-01-29 21:21

    The following should work:

    at command line:

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

    in Gemfile:

    gem 'rspec-rails'
    

    at command line:

    bundle install
    rails g rspec:install
    
    0 讨论(0)
  • 2021-01-29 21:22

    Create your new rails application as:

    rails new <app_name> -T
    

    Or remove your test directory from your existing application:

    rm -rf test/
    

    Make an entry in your Gemfile:

    gem 'rspec-rails'
    

    From the command line install the gem

    $ bundle install
    

    From the command line install rspec into your application:

    $ rails g rspec:install
    

    Now your rails application uses RSpec instead of test-unit.

    0 讨论(0)
  • 2021-01-29 21:34

    Once you created your rails application with:

    rails new <app_name> -T  # to exclude Test::Unit
    

    Add the RSpec gem to your Gemfile in the following way:

    group :development, :test do
      gem "rspec-rails"
    end
    

    In Command line write:

    bundle install  # this will install the missing gems
    

    Now you need to install RSpec by running:

    rails generate rspec:install
    

    This will generate the following files:

    create  .rspec
    create  spec
    create  spec/spec_helper.rb
    create  spec/rails_helper.rb
    

    I strongly recommended to read through all spec_helper and rails_helper comments to get a good understanding of what each option does.

    Once everything is set you can run all your tests with:

    bundle exec rspec
    

    You can read more about the recommended spec_helper and rails_helper configurations on https://kolosek.com/rails-rspec-setup.

    0 讨论(0)
  • 2021-01-29 21:39

    There's no native way to do this with the rails CLI. Generate a new project without test-unit:

    rails new rails-app --skip-test

    And then follow rspec instructions to integrate it into the new Rails app.

    0 讨论(0)
  • 2021-01-29 21:43

    I'm a new developer and I just made a rails flag (-rspec) to address OP's problem. It gets rid of Test::Unit and inserts the rails-rspec gem with a bash script. The script can be modified to help linux developers by automatically adding therubyracer gem or create custom flags and gemsets. (maybe specifically going to that gem line and deleting the comment)

    Here's the gist && I hope this helps someone out there. https://gist.github.com/MTen/8310116

    0 讨论(0)
提交回复
热议问题