1

在使用 RSpec 测试我的 rails 应用程序的功能时,我遇到了很多问题。我有一个公司控制器,并且正在使用设计来确保您需要登录才能访问控制器。

然后我进行如下集成测试:

describe "with valid information" do
            before do
                fill_in "company_address", with: "My special address"
                fill_in "company_name", with: "My User"
                fill_in "company_contact_email", with: "test@test.com"
                fill_in "company_contact_name", with: "Someone Hello"
            end

            it "should create a company" do
                expect { click_button submit }.to change(Company, :count).by(1)
            end     
        end

当然,它失败了,因为我没有登录的用户。我尝试创建一个如此处所述的测试助手,它适用于控制器,但不适用于集成测试。

在进行这些测试之前,使用 Devise 登录用户的最佳方式是什么?

4

1 回答 1

0

将文件添加devise.rbrspec/support 这里是内容

RSpec.configure do |config|
  config.include Devise::TestHelpers, :type => :controller
end

解决问题的另一种方法:使用设计 gem 进行 Rails 集成测试

于 2012-12-16T19:53:08.640 回答