我有一个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
的调用会返回""
(空字符串)。