Не могу понять, почему команда bundle exec rake test
не работает, но когда я вручную пытаюсь отправить электронное письмо, оно работает и отображается так, как должно.Тестирование ActionMailer ArgumentError: неправильное количество аргументов (0 для 1)
Сообщение об ошибке: ArgumentError: неверное число аргументов (0 для 1) и выделяет def stock_alert_email(stock)
из user_mailer.rb
user_mailer.rb
def stock_alert_email(stock)
@stock = stock
mail(to: '[email protected]', subject: "Stock Alert! %s has reached %s" % [@stock[0].to_s, @stock[1].to_s])
end
user_mailer_test.rb
test "stock_alert_email" do
email = UserMailer.stock_alert_email().deliver_now
assert_not ActionMailer::Base.deliveries.empty?
# Test the body of the sent email contains what we expect it to
assert_equal ['[email protected]'], email.from
assert_equal ['[email protected]'], email.to
assert_equal "Stock Alert! %s has reached %s" % [@stock[0].to_s, @stock[1].to_s], email.subject
assert_equal read_fixture('stock_alert_email').join, email.body.to_s
end
where I call the mail to send
UserMailer.stock_alert_email(@stock).deliver_now
Когда я использую binding.pry перед выше ^^ линии я вижу, что @stock является
[1] pry(main)> @stock
=> ["AAPL", 114.21]
такая глупая ошибка спасибо – Daniel