2

我正在使用rspec测试我的应用程序,并且我需要有关设计 gem 测试的提示。测试权限以查看某些路径的最佳方法是什么。

例如,我的 ProductController 中有这个回调

before_filter :authenticate_user!, :except => [:show, :index]

我需要这样的东西

before (:each) do
    @user = User.create!({
      :name => 'Test User',
      :email => 'user@test.com',
      :password => 'pleaseletmein',
      :password_confirmation => 'pleaseletmein' 
      })
    sign_in @user
  end

 before ([:create, ....]) do
    sign_out @user if @user
  end

let(:valid_session) { {"warden.user.user.key" => session["warden.user.user.key"]} }
let(:un_valid_session) { {} }
.....

describe "create" do
  it "....." do
    get(:create, {}, un_valid_session)
    response.should redirect_to(root_path)
.....

或者分享你测试这个行为之王的方法。

4

1 回答 1

1

看看 rails3-bootstrap-devise-cancan 项目。有 features 文件夹,其中包含几乎你需要 https://github.com/RailsApps/rails3-bootstrap-devise-cancan/tree/master/features

于 2013-11-12T21:45:02.410 回答