Тестирование представлений, использующих CanCan и Devise с RSpec

Я пытался протестировать простое представление индекса, внутри которого есть следующий код:

- if can? :destroy, MyModel
  %th Options

MyModelsController имеет следующие параметры (Inherited Resources + CanCan + Devise):

class MyModelsController < ApplicationController
  inherit_resources
  nested_belongs_to :mymodel
  before_filter :authenticate_user!
  load_and_authorize_resource :project
  load_and_authorize_resource :mymodel, :through => :project

При запуске спецификаций происходит сбой на линии - если можно? : destroy, MyModel

Failure/Error: render
   ActionView::Template::Error:
      undefined method `authenticate' for nil:NilClass

Нет трассировки, не на чем основываться ...

Я подумал, что, возможно, я не авторизован и не подписан при тестировании представлений, но Devise :: TestHelpers должен быть включен в тесты контроллера (и вот как он у меня).

Я пытался переопределить метод может? как в Способности , так и в контроллере, но это не дало никакого эффекта.

20
задан Pan Thomakos 16 February 2011 в 17:33
поделиться