在Rails中编写帮助器和helper_spec

时间:2014-07-01 07:50:46

标签: ruby-on-rails ruby rspec

我已经编写了以下助手来为我的控制器发送电子邮件:

module SendEmail
  def send_mail(subject, body)
    to = "abc@gmail.com.com"
    cc = "def@gmail.com" 
    html_message = %{<html><body>body</body></html>}
    flag1 = system %{echo "#{html_message}" | mutt -e "set content_type=text/html" -s "#{subject}" #{cc} -- #{to}}
  end
end

我应该在哪里放置此模块,以便控制器可以使用它?

我应该在哪里放置相同的rspec代码?我如何为此编写rspec-test案例?如何为此助手测试mutt

1 个答案:

答案 0 :(得分:1)

你把它放在app/controllers/concerns

通过将调用分解为帮助方法来测试mutt,该方法创建命令并测试该命令。你也可以存根或嘲笑system电话。我不会直接测试mutt,作为外部资源,它应该使用像chef这样的配置工具正确配置。