ruby-on-rails - 在 rails 中以登录用户身份进行测试

标签 ruby-on-rails testing authentication

我想在我的 Rails 应用程序中测试我的功能,但测试需要用户/管理员登录。我查看了很多网站,但我无法理解我真正应该做些什么才能让它工作。我确定有一件简单的事情可以做,但我似乎找不到。

我已经看到使用了 stubs 命令,但我只知道它是一个未定义的方法,我真的不知道它应该做什么。

关于如何像用户/管理员请求它们一样运行我的测试有什么想法吗?

感谢我可能得到的任何帮助。

最佳答案

验收/集成测试:

  1. 如果您使用的是 Cucumber,只需以用户身份登录即可。像这样的东西:

    fill_in 'users[用户名]', :with => "我的用户名" fill_in 'users[password]', :with => "我的密码" 点击按钮“登录”

  2. 如果您使用的是 rspec+capybara,您可以这样做(假设您使用的是 Devise 进行身份验证)

    # spec/spec_helper.rb
    include Warden::Test::Helpers
    
    # in spec/acceptance/some_spec.rb
    ...
    login_as FactoryGirl.create(:user)
    

单元测试

关于ruby-on-rails - 在 rails 中以登录用户身份进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13774022/

相关文章:

ruby-on-rails - Instagram gem : getting photos with specific hashtags

javascript - Rails text_field 默认值在点击时消失(并变暗)

testing - 测试 Go 中未导出函数的命名约定

django - 如何测试 Django 响应是否由特定 View 生成?

java - 如何向 Grizzly 服务器添加过滤器?

azure - 我可以使用 Graph API 和 Azure ADB2C 通过原始登录屏幕对用户进行身份验证吗?

java - 数据库中超过一个用户的 Spring Security 身份验证不起作用

ruby-on-rails - 如何一次将多条记录保存到数据库中

ruby-on-rails - Rails schema.rb 不包含新的自定义 Postgres 函数

mySQL:测试与查询的连接?