我想在我的 Rails 应用程序中测试我的功能,但测试需要用户/管理员登录。我查看了很多网站,但我无法理解我真正应该做些什么才能让它工作。我确定有一件简单的事情可以做,但我似乎找不到。
我已经看到使用了 stubs 命令,但我只知道它是一个未定义的方法,我真的不知道它应该做什么。
关于如何像用户/管理员请求它们一样运行我的测试有什么想法吗?
感谢我可能得到的任何帮助。
最佳答案
验收/集成测试:
如果您使用的是 Cucumber,只需以用户身份登录即可。像这样的东西:
fill_in 'users[用户名]', :with => "我的用户名" fill_in 'users[password]', :with => "我的密码" 点击按钮“登录”
如果您使用的是 rspec+capybara,您可以这样做(假设您使用的是 Devise 进行身份验证)
# spec/spec_helper.rb include Warden::Test::Helpers # in spec/acceptance/some_spec.rb ... login_as FactoryGirl.create(:user)
单元测试
- 参见 https://github.com/plataformatec/devise#test-helpers如果你正在使用 Devise
- 否则,您可以通过写入
session
对象或通过删除current_user
(假设您这样调用它)来实现类似的功能
关于ruby-on-rails - 在 rails 中以登录用户身份进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13774022/