如何写Rspec-rails中的“记住我”功能?

时间:2019-05-02 16:01:00

标签: ruby-on-rails rspec capybara rspec-rails sorcery

我使用巫术宝石来完成登录功能,并且使用了“记住我”功能。但是我不知道如何使用Rspec编写测试代码。我找到了水豚宝石,但不知道如何使用它。
我要测试的是,当我选中“记住我”复选框以登录,然后使用管理员用户名和密码注销上次登录的内容时,是否没有任何值。
有人可以给我一些提示吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以进行2次测试。我不知道您的网站是如何工作的(或者我还记得我的功能如何工作),所以这里是基本概念。

测试1:记住

  1. 访问主页
  2. 选中“记住我”
  3. 填写表格
  4. 点击登录
  5. 点击注销
  6. 访问主页
  7. 点击登录
  8. expect(page).to have_content“您已登录”

测试2:不记得了

  1. 访问主页
  2. 填写表格
  3. 点击登录
  4. 点击注销
  5. 访问主页
  6. 点击登录
  7. expect(page).to have_content“您必须输入名称和密码”

要访问水豚的首页,请访问:

visit '/'

要选中一个框:

check 'remember_me'

您需要填写表格并单击按钮。

以下是水豚参考:https://github.com/teamcapybara/capybara#using-capybara-with-rspec