私はdevise_invitableをアプリケーションに統合しており、gemのいくつかのメソッドをオーバーライドするためにカスタムコントローラー(InvitationsController)を作成する必要がありました。今、私は自分が行ったことをカバーするためのテストを書きたいのですが、新しいコントローラーの仕様を生成する方法がわかりません。どんな助けでも大歓迎です。
ありがとう!
rspecの方法は
Rails g rspec:controller passwords
それは与えます
create spec/controllers/passwords_controller_spec.rb
- 更新
モデルまたはコントローラーの作成時にrspecを生成するようにアプリケーションを構成できます。 config /application.rbに追加します
# don't generate RSpec tests for views and helpers.
config.generators do |g|
g.test_framework :rspec, fixture: true
g.fixture_replacement :factory_girl, dir: 'spec/factories'
g.view_specs false
g.helper_specs false
end
$Rails g model category
invoke mongoid
create app/models/category.rb
invoke rspec
create spec/models/category_spec.rb
invoke factory_girl
create spec/factories/categories.rb
$Rails g controller categories
create app/controllers/categories_controller.rb
invoke haml
create app/views/categories
invoke rspec
create spec/controllers/categories_controller_spec.rb
invoke helper
create app/helpers/categories_helper.rb
invoke rspec
invoke assets
invoke coffee
create app/assets/javascripts/categories.js.coffee
invoke scss
create app/assets/stylesheets/categories.css.scss
Rails 3 + rspecを使用していて、rspec(Rails g rspec:install
)をインストールした場合、生成する各コントローラー(およびその他のオブジェクト)のコントローラー仕様が生成されます。
手作業で作成する必要がある場合。 new_controller_name_spec.rb
に新しいspec/controllers
を作成するだけです。
require 'Rails_helper'
describe NewControllerName do
# Test!
end
また、既存のコントローラーを上書きするかどうかを尋ねられたときに、コントローラーファイルを再生成することもできます。たとえば、Noとすると、そのコントローラーのrspecが再度生成されます。