1

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

HowSlow::Mailer.metrics_email.body.to_s

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

使用 gem/engine 的预发布版本的应用程序中的相同调用确实会返回文本电子邮件的内容,正如我所期望的那样。

在让 gem/engine 本身内部的测试可以看到引擎视图方面,我是否遗漏了一些东西?

例子:

在包含此分支上当前版本的 gem 的应用程序中,我得到了(我已经为您分解了换行符,以便更容易阅读):

 > 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:
   --------------------"

有问题的视图在这里: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返回""(空字符串)。

4

0 回答 0