在Rails引擎中测试ActionMailer视图

时间:2013-06-23 17:49:11

标签: actionmailer minitest rails-engines

我有一个rails gem/engine called how_slow,其中包含我的嵌入式ActionMailer子类的视图。当gem安装在应用程序中时,将触发视图并发送电子邮件。但是,在测试中(我使用minitest),视图不会被拾取或无法访问,因此调用:

HowSlow::Mailer.metrics_email.body.to_s

...返回一个空字符串(""),而不是我想要的电子邮件内容。

使用预发布版本的gem /引擎的应用程序内的相同调用确实会像我期望的那样返回文本电子邮件的内容。

我是否遗漏了一些内容,以使得引擎视图对于gem /引擎本身内的测试是可见的?

示例:

在包含this branch https://github.com/normalocity/how_slow/blob/12-mailer/app/views/how_slow/mailer/metrics_email.text.erb的当前版本的宝石的应用内部,我得到了(我已经为您分解了换行符,因此更容易阅读):

 > HowSlow::Mailer.metrics_email.body.to_s
=> "Slowest 12 requests, sorted by total_runtime:
   --------------------
   2013-06-22T11:42:21-05:00 :: sections/show    270 / 12 / 249
   2013-06-21T22:50:21-05:00 :: log_books/index  263 / 23 / 225
   2013-06-22T11:42:18-05:00 :: log_books/index  257 / 24 / 217
   2013-06-22T11:42:21-05:00 :: log_books/show   58 / 9 / 0
   2013-06-22T11:42:24-05:00 :: sections/show    56 / 4 / 14
   2013-06-22T11:42:20-05:00 :: log_books/index  39 / 11 / 27
   2013-06-22T11:42:26-05:00 :: log_books/index  38 / 12 / 25
   2013-06-22T11:42:31-05:00 :: sections/show    38 / 5 / 30
   2013-06-22T11:42:25-05:00 :: sections/show    28 / 4 / 20
   2013-06-22T11:42:28-05:00 :: sections/show    21 / 4 / 14
   2013-06-22T11:42:32-05:00 :: sections/show    20 / 3 / 12
   2013-06-22T11:42:28-05:00 :: log_books/show   5 / 1 / 0


   Counters sorted by alpha_asc:
   --------------------"

有问题的观点在这里:{{3}}

但是,在测试框架中,对HowSlow::Mailer.metrics_email.body.to_s的调用会返回""(空字符串)。

0 个答案:

没有答案