Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.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 在运行测试时,如何禁用Rails4中的ActionMailer?_Ruby On Rails_Ruby_Rspec_Capybara - Fatal编程技术网

Ruby on rails 在运行测试时,如何禁用Rails4中的ActionMailer?

Ruby on rails 在运行测试时,如何禁用Rails4中的ActionMailer?,ruby-on-rails,ruby,rspec,capybara,Ruby On Rails,Ruby,Rspec,Capybara,我正试图禁止ActionMailer在Rails4中实际发送电子邮件,我想知道我该怎么做。在我的config/environments/test.rb文件中,我有两行代码: config.action_mailer.delivery_method = :test config.action_mailer.perform_deliveries = false 我还尝试将这一行放在environment.rb文件中: ActionMailer::Base.delivery_method =

我正试图禁止ActionMailer在Rails4中实际发送电子邮件,我想知道我该怎么做。在我的
config/environments/test.rb文件中,我有两行代码:

  config.action_mailer.delivery_method = :test
  config.action_mailer.perform_deliveries = false
我还尝试将这一行放在
environment.rb
文件中:

ActionMailer::Base.delivery_method = :test
正如其他帖子所建议的,但这些方法似乎不起作用

在我运行测试时,有人能给我提供关于如何禁用Action Mailer的建议吗


谢谢

以上必须工作,否则这是Rails中的一个bug。你确定你使用ActionMailer吗?@MichaelSzyndel是的,我肯定我的代码在mailers目录中,该类继承自“ActionMailer::Base”,你确定没有其他方法可以做到这一点吗?因此你的应用程序正在发送电子邮件并将其发送到你的收件箱?你真的在某处有邮件程序配置吗?@phoet邮件被发送到收件箱,因为生成了一堆伪造的邮件,我在development.rb文件中配置了邮件程序,但当我运行测试时,它显示邮件被发送出去了。在运行集成和单元测试时应该发生这种情况吗?什么?我不明白你在说什么