rSpec和Rails中的Stubbing设备3

时间:2010-08-02 11:58:53

标签: rspec ruby-on-rails-3 rspec2

如何使用rSpec在Rails 3中创建Devise。我有UsersControllerUser模型。这两个都与Devise有关,我正在编写控制器规格,我真的很难实现我的期望,因为Devise sign_in真的让工作干扰了。

任何事情都会有所帮助。

2 个答案:

答案 0 :(得分:74)

我发现现在很容易做到这一点。 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

[更新]在设计维基上,现在有一个详细的(可能是最新的)description

答案 1 :(得分:9)

您可以尝试模拟设计所依赖的基础warden(http://wiki.github.com/hassox/warden/)对象,这里有一些指向如何使用RSpec实现此目的的详细信息:http://www.michaelharrison.ws/weblog/?p=349(条目涵盖其他一些主题同样,您想要的解决方案是在页面底部。)