Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为使用Capybara的测试更改Rails会话_Ruby On Rails_Testing_Capybara_System Testing - Fatal编程技术网

Ruby on rails 为使用Capybara的测试更改Rails会话

Ruby on rails 为使用Capybara的测试更改Rails会话,ruby-on-rails,testing,capybara,system-testing,Ruby On Rails,Testing,Capybara,System Testing,我需要在Rails 5.2应用程序中测试一个页面,如果用户未使用Capybara系统测试登录,该页面将显示当前购物车。应用程序通过rails会话中保存的卡id检索购物车(会话[:cart\u id]=@cart.id) 我的测试如下所示: 要求“应用程序\系统\测试用例” 类CartUiTest

我需要在Rails 5.2应用程序中测试一个页面,如果用户未使用Capybara系统测试登录,该页面将显示当前购物车。应用程序通过rails会话中保存的
卡id
检索购物车(
会话[:cart\u id]=@cart.id)

我的测试如下所示:

要求“应用程序\系统\测试用例”
类CartUiTest

如何在此测试中设置会话?我尝试过gem,但我正在寻找另一个不使用此gem的解决方案,因为它与其他测试冲突。

您不应该在系统测试中直接访问会话。如果您想要一个会话已注销的用户,请先登录该用户,然后将其注销。这样,浏览器将拥有与注销会话对应的cookie,就像真实用户一样