web-dev-qa-db-ja.com

Railsアプリに新しいRails?

test-unitがインストールされ、rspecがインストールされています(-core-expectations-mocks、および-Railsバージョン2.6.xとともに)。コマンドRails new fooを実行すると、rspecの代わりにtest-unitを使用してテストスタブファイルが生成されます。

Rails代わりにrspecを使用してテストを生成するように指示できるオプションはありますか?

148
aarona

以下が動作するはずです:

コマンドラインで:

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

gemfileで:

gem 'rspec-Rails'

コマンドラインで:

bundle install
Rails g rspec:install
257
Zabba

新しい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を使用します。

72
Sayuj

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構成の詳細を読むことができます。

5
Nesha Zoric

私は新しい開発者であり、OPの問題に対処するためにRailsフラグ(-rspec)を作成しました。Test:: Unitを削除し、bashスクリプトでRails-rspec gemを挿入します.rubyracer gemを自動的に追加するか、カスタムフラグとgemsetsを作成することにより、Linux開発者を支援するためにスクリプトを変更できます(具体的にはそのgem行に移動してコメントを削除することもできます)

これが要点です&&これが誰かに役立つことを願っています。 https://Gist.github.com/MTen/8310116

4
MTen