質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

Q&A

0回答

1215閲覧

ActionMailerのテストについて教えてください。

rytr823

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

0グッド

0クリップ

投稿2020/07/19 11:13

前提・実現したいこと

Ruby on RailsでActionMailerを用いたメール送信アプリを作っています。
RSpecを使用してMailerの単体テストを実行した際、以下のエラーが発生しました。
プログラミング学習を開始して間も無く、知識不足のためアドバイスいただけると嬉しいです。

発生している問題・エラーメッセージ

1) UserMailer#trebds(user) when trends(user) Failure/Error: it {expect(mail.from.first).to eq('<xxx@gmail.com>')} ArgumentError: wrong number of arguments (given 0, expected 1) # ./spec/mailers/user_mailer_spec.rb:15:in `block (4 levels) in <top (required)>'

該当のソースコード

user_mailer_spec.rb

ruby

1require 'rails_helper' 2 3describe UserMailer, type: :mailer do 4 describe '#trebds(user)' do 5 users = User.all 6 subject(:mail) do 7 users.each do |user| 8 UserMailer.trends(user) 9 described_class.trends(user).deliver_now 10 ActionMailer::Base.deliveries.last 11 end 12 end 13 14 context "when trends(user)" do 15 it {expect(mail.from.first).to eq('<xxx823@gmail.com>')} 16 it {expect(mail.to.first).to eq('yyy@yahoo.co.jp')} 17 it {expect(mail.subject).tp eq("今月の業界動向")} 18 end 19 end 20end

user_mailer.rb

ryby

1class UserMailer < ApplicationMailer 2 def trends(user) 3 @user = user 4 @image = 'sample.jpg' 5 attachments.inline[@image] = File.read('./tmp/sample.jpg') 6 mail to: @user.email, subject: "今月の業界動向" 7 end 8end

試したこと

引数に関するエラーなので、trends(user)の(user)に値を渡してあげればいいと考え,context内でもuser = user.allを定義してみましたが変わりませんでした。。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。
ruby 2.6.5
rubyonrails 6.0.0
RSpec 3.9
rspec-core 3.9.2
rspec-expectations 3.9.2
rspec-mocks 3.9.1
rspec-rails 4.0.1
rspec-support 3.9.3
エラー解決のアドバイスいただきたく、何卒よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問