gpt4 book ai didi

ruby-on-rails - rails 、 cucumber 、 capybara : session is not persisted

转载 作者:行者123 更新时间:2023-12-03 07:46:04 25 4
gpt4 key购买 nike

我正在尝试为依赖于某些 session 存储数据的功能编写测试,我的场景如下所示:

Scenario: Create offer
Given I am on the start offer page
When I select "Foo" from "bar"
And I press "Go on"
Then I should see "You are going to offer foo"

通过使用调试器,我发现信息正确存储在 session 中,但在每个新请求中我都会得到一个新的 session 。

难道不应该至少针对每种情况召开一次工作 session 吗?你知道为什么情况并非如此吗?

提前致谢,乔

版本:运行在rails 2.3.10、cucumber 0.10.0、cucumber-rails 0.3.2、capybara 0.4.1.2

最佳答案

由于 capybara 在测试中切换主机名,我们遇到了丢失 session 的问题。场景如下:

# Good
When I visit some page
# will call 'http://capybarawhatever/some_page
And I click the the button
# will call 'http://capybarawhatever/some_new_page'
Then I still have the session

# Failing
When I visit some page
# will call 'http://capybarawhatever/some_page'
And I do something that redirects me to "http://newhost.org/new_page"
And I visit some page
# No this may go to 'http://newhost.org/some_page
Then I have lost my session

这可能值得调查。您可以在 session 中获取 current_url,并且可以使用 host! 为 capybara 设置新的主机! 'newhost.org'

关于ruby-on-rails - rails 、 cucumber 、 capybara : session is not persisted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5144724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com