期望输入结束

时间:2016-01-01 05:20:31

标签: ruby-on-rails ruby ruby-on-rails-4 testing rspec

嗨,我一直收到这条消息,我没有看到任何错误,有人可以帮助我吗?这是我的代码

ERROR["test_account_activation", UserMailerTest, 0.5950376749970019]
 test_account_activation#UserMailerTest (0.60s)
SyntaxError:         SyntaxError: /home/ubuntu/workspace/sample_app/app/mailers/user_mailer.rb:23: syntax error, unexpected keyword_end, expecting end-of-input
            test/mailers/user_mailer_test.rb:6:in `block in <class:UserMailerTest>'

ERROR["test_password_reset", UserMailerTest, 0.6068314979784191]
 test_password_reset#UserMailerTest (0.61s)
SyntaxError:         SyntaxError: /home/ubuntu/workspace/sample_app/app/mailers/user_mailer.rb:23: syntax error, unexpected keyword_end, expecting end-of-input
            test/mailers/user_mailer_test.rb:17:in `block in <class:UserMailerTest>'

user_mailer_test.rb

require 'test_helper'
class UserMailerTest < ActionMailer::TestCase
  test "account_activation" do
    user = users(:michael)
    user.activation_token = User.new_token
    mail = UserMailer.account_activation(user)
    assert_equal "Account activation", mail.subject
    assert_equal [user.email], mail.to
    assert_equal ["noreply@example.com"], mail.from
    assert_match user.name,               mail.body.encoded
    assert_match user.activation_token,   mail.body.encoded
    assert_match CGI::escape(user.email), mail.body.encoded
  end
  test "password_reset" do
    user = users(:michael)
    user.reset_token = User.new_token
    mail = UserMailer.password_reset(user)
    assert_equal "Password reset", mail.subject
    assert_equal [user.email], mail.to
    assert_equal ["noreply@example.com"], mail.from
    assert_match user.reset_token,        mail.body.encoded
    assert_match CGI::escape(user.email), mail.body.encoded
  end
end

如果认为一切正常,我没有看到问题!谢谢:)

2 个答案:

答案 0 :(得分:4)

根据错误消息,语法错误位于app/mailers/user_mailer.rb文件的行号中。 23.它不在user_mailer_test.rb文件中。

仔细查看错误消息并修复user_mailer.rb文件中的语法错误。

答案 1 :(得分:0)

错误可能在app/mailers/user_mailer.rb文件中,而不在test文件中。

在进行调试时,您应该从error stack尾部的顶部开始到底部..这样您就可以快速找到错误并将错误放在您身边。