Answers:
以下应该工作:
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应用程序,方法如下:
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配置的更多信息。
我是一名新开发人员,我刚刚制作了一个rails标志(-rspec)来解决OP的问题。它摆脱了Test :: Unit并使用bash脚本插入rails-rspec gem。可通过自动添加therubyracer gem或创建自定义标志和gemset来修改脚本,以帮助linux开发人员。(也许专门转到该宝石行并删除评论)
这是要点&&希望对您有所帮助。 https://gist.github.com/MTen/8310116