Spork,delayed_job,email_spec和haml

时间:2011-12-28 04:39:59

标签: haml delayed-job spork email-spec

我的测试环境使用spork&黄瓜 - 我能够很好地运行我的测试,并决定包括email_spec。但是电子邮件测试失败了

  1. 我的电子邮件是使用delayed_job发送的
  2. email_spec在检查电子邮件之前正在运行延迟的作业
  3. 然而,电子邮件(使用haml)没有被发送出去,因为delayed_job失败了

    Missing template user_response_mailer/send_contact_info with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en]
    
  4. 请注意,错误中的处理程序不会在其处理程序列表中显示:haml。我已经在我的gemfile中获得了haml和haml-rails gem,我的应用程序在非测试环境中正确发送邮件(在dev / prod中没有上述错误)

  5. 主要问题是

        Why is haml not getting loaded automatically when my email templates are being rendered via delayed_job running under spork ?
    

1 个答案:

答案 0 :(得分:0)

这必须是一个spork问题,没有别的。安装HAML后重新启动了spork服务器吗?

我问因为:我使用带有rspec / cucumber的email_spec,现在spork,我的应用程序中的所有都是HAML。电子邮件由resque-mailer发送,而不是delayed_job。我遇到的问题是,当使用spork运行时,不会更改HAML模板(即HAML插件使用模板的预编译缓存副本)。

查看您的错误,HAML根本没有加载。如果是,则:handlers数组在列表中会有:haml。

在我的情况下,禁用视图缓存应该可以解决这个问题,我还在探讨这个问题