Обрезание в rSpec и Rails3
Как бы вы заглушили Devise в Rails 3 с помощью rSpec. У меня есть модель UsersController
и User
. Оба из них связаны с Devise на данный момент, я пишу спецификации контроллера, и мне действительно трудно выполнить мои ожидания, так как Devise sign_in
действительно забивает работы.
Любая вещь поможет.
Ответы
Ответ 1
Я обнаружил, что сейчас довольно легко сделать это. Была проблема с rspec2 и разработана, но теперь решена. Думаю, вам нужно будет обновить свои драгоценные камни. Затем вы можете написать
require 'spec_helper'
describe DoStuffController do
include Devise::TestHelpers
before (:each) do
@user = Factory.create(:user)
sign_in @user
end
describe "GET 'index'" do
it "should be successful" do
get 'index'
response.should be_success
end
end
end
[UPDATE] В разработке wiki теперь есть подробное (и, вероятно, более современное) описание .
Ответ 2
Вы можете попробовать смоделировать базовый объект надзирателя (https://github.com/wardencommunity/warden/wiki), на который полагается разработка, вот ссылка на некоторые подробности о том, как вы можете сделать это с помощью RSpec: http://www.michaelharrison.ws/weblog/?p=349 (запись также охватывает некоторые другие темы, решение, которое вы хотите к нижней части страницы.)