我正在尝试设置一封电子邮件来通知我 Rails 应用程序中发生的错误。我在测试中遇到了一个小错误,这些错误或多或少是无法正确说明我想要的东西。假设我的错误包括以下两行
2013-04-23 02:06:06 ERROR -- Errors for OUT6984-20130422-111427-1366647266.5769058.mp3:
2013-04-23 02:06:06 ERROR -- {:phone=>['is invalid']}
当我写这个到我的电子邮件时,我写我的期望如下:
it "contains the right content" do
@email.should have_body_text("2013-04-23 02:04:56 ERROR -- Errors for OUT6984-20130422-101157-1366643517.5758441.mp3:")
@email.should have_body_text("2013-04-23 02:04:56 ERROR -- {:phone=>['is invalid']}")
end
但我的测试失败了,因为......
expected the body to contain "2013-04-23 02:04:56 ERROR -- {:phone=>['is invalid']}" but was
"<!DOCTYPE html> <html> <head> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'> </head> <body> <h1>Errors for 20130423</h1> <br> <p>2013-04-23 02:04:56 ERROR -- Errors for OUT6984-20130422-101157-1366643517.5758441.mp3: 2013-04-23 02:04:56 ERROR -- {:phone=>['is invalid']} </p> </body> </html> "
最终哈希中的>
char 被替换为>
. 我该如何解决这个问题,或者以通过的方式重写测试?测试完全按照我的意愿进行,代码也是如此。我只是不知道如何告诉它这就是我想要的。