gpt4 book ai didi

ruby-on-rails - cucumber default_url_options[ :host] everytime "www.example.com" even if specified in environtemnts/test. rb

转载 作者:数据小太阳 更新时间:2023-10-29 07:18:57 27 4
gpt4 key购买 nike

我在 environments/test.rb 中指定了 default_url_options

config.action_mailer.default_url_options = { :host => "www.xyu.at" }

这很好,在我测试用户注册的 cucumber 故事中,用户激活链接正确生成

invitation_activation_url(1)
=> "www.xyu.at/signup/1231hj23jh23"

但是当我尝试使用 features/steps/user_steps.rb 中的以下代码访问电子邮件中提供的链接时(使用来自 http://github.com/bmabey/email-spec/tree/master 的 email-rspec):

When /^I follow the invitation link$/ do
When 'I follow "'+invitation_activation_url(1) + '" in the email'
end

这里的 url 是用默认主机创建的:

invitation_activation_url(1)
=> "www.example.com/signup/1231hj23jh23"

有人能帮帮我吗?我不明白我做错了什么......

谢谢!

编辑:

好像跟方法有关

current_url

但我不知道它来自哪里..?

编辑:

我在 features/support/env.rb 中指定了正确的环境

ENV["RAILS_ENV"] ||= "test"

编辑:

我的临时解决方案是,edbond 说的,

invitation_activation_url(1, :host => "www.xyz.at")
=> "www.xyz.at/signup/1231hj23jh23"

但我不想以这种方式显式命名域(我已经在我的 environments/test.rb 文件中指定了它 - 这样它就不会干)

最佳答案

在您的网址中使用 :host 选项。

invitation_activation_url(1, :host => "www.xyz.at")
=> "www.xyz.at/signup/1231hj23jh23"

编辑:

您可以解析电子邮件正文并获取链接

  mail = YourMailer.deliveries.last
email_html = Nokogiri::HTML mail.body.to_s
approve_link = email_html.at_css("a")["href"]

关于ruby-on-rails - cucumber default_url_options[ :host] everytime "www.example.com" even if specified in environtemnts/test. rb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1137965/

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