我对如何(以及在哪里)为您看到的“保持登录”功能编写一些 rspec 测试感到有些困惑,包括在谷歌登录时。
我在网上找到的例子没有多大帮助。具体来说,我想测试这两种情况。
1
- a) 用户使用有效凭据登录而没有单击“保持登录”
- b) 用户关闭浏览器,重新打开并请求保护页面。
- 用户不应看到受保护的页面。
- 用户应该会看到要求他们登录的页面。
2
- a) 用户使用有效凭据登录并单击“保持登录”
- b) 用户关闭浏览器,重新打开它并请求一个受保护的页面。
- 用户不应看到要求他们登录的页面。
- 用户应该被带到受保护的页面。
我第一次尝试解决这个问题涉及通过删除我存储在会话中的 user_id 来模拟浏览器关闭(因为它在浏览器关闭时被删除)。但是,这些测试失败了,因为我在请求规范文件夹中工作并且无法访问会话变量。我之前的相关问题:会话在某些 rspec 文件中可用,而在其他文件中不可用。怎么会?
使用 rspec 进行这些测试的最佳方法是什么?