回答:
以下はうまくいくはずです:
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
内にあります。また、でアプリを生成する必要はありません。dirを削除すれば機能します。development
Gemfile
-T
test
"rails/test_unit/railtie"
して、コメントアウトしますapplication.rb
rspec-rails
gem を追加するときは、テストして開発することが重要です。そうしないと、上記の手順を実行しても、ジェネレーターはRSpecを使用しません。
新しいRailsアプリケーションを次のように作成します。
rails new <app_name> -T
またはtest
、既存のアプリケーションからディレクトリを削除します。
rm -rf test/
Gemfileにエントリを作成します。
gem 'rspec-rails'
コマンドラインからgemをインストールします
$ bundle install
コマンドラインから、rspecをアプリケーションにインストールします。
$ rails g rspec:install
これで、railsアプリケーションはtest-unitではなく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
推奨されるspec_helperおよびrails_helper構成の詳細については、https: //kolosek.com/rails-rspec-setupを参照してください。
私は新しい開発者で、OPの問題に対処するためにRailsフラグ(-rspec)を作成しました。それはTest :: Unitを取り除き、bashスクリプトでrails-rspec gemを挿入します。スクリプトは、rubyracer gemを自動的に追加するか、カスタムフラグとgemsetを作成することにより、Linux開発者を支援するように変更できます。(おそらくその宝石の行に行き、コメントを削除するかもしれません)
ここに要点があります。これが誰かの役に立つことを願っています。 https://gist.github.com/MTen/8310116
rails
CLIでこれを行うネイティブの方法はありません。なしで新しいプロジェクトを生成しtest-unit
ます:
rails new rails-app --skip-test
その後、rspec
指示に従って新しいRailsアプリに統合します。