gpt4 book ai didi

ruby-on-rails - Cucumber/Capybara/Email 规范无法与 Selenium 驱动程序一起正常工作

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

我运行了一些 Cucumber/Capybara 测试。我一直在使用 email_spec gem检查电子邮件的东西。一些类似“并且“someone@email.com”应该收到电子邮件”的步骤。当我使用 rack_test 驱动程序运行测试时,它们没有问题。但是,它们在使用 selenium 驱动程序时失败:

And "someone@email.com" should receive an email                                                                
expected: 1
got: 0 (using ==) (RSpec::Expectations::ExpectationNotMetError)

你能帮帮我吗?谢谢

最佳答案

您必须将您的电子邮件放入一个文件中,因为默认情况下,测试环境中的 rails 将它们保存在无法从测试线程访问的静态变量中。如果您使用 Rails3,请在 Cucumber 环境中将传递方法设置为 :file。如果您使用的是 rails 2.x,请将其放入您的 cucumber 初始化程序中:

ActionMailer::Base.class_eval do
DELIVERIES_CACHE_PATH =
File.join(RAILS_ROOT,'tmp','cache',"action_mailer_cache_deliveries {ENV['TEST_ENV_NUMBER']}.cache")

def perform_delivery_cache(mail)
deliveries = File.open(DELIVERIES_CACHE_PATH, 'r') do |f|
Marshal.load(f)
end

deliveries << mail
File.open(DELIVERIES_CACHE_PATH,'w') { |f| Marshal.dump(deliveries, f) }
end

def self.cached_deliveries
File.open(DELIVERIES_CACHE_PATH,'r') { |f| Marshal.load(f) }
end
end

config.action_mailer.delivery_method = :cache

关于ruby-on-rails - Cucumber/Capybara/Email 规范无法与 Selenium 驱动程序一起正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8231175/

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