Rails Diary

プログラミングの学習記録です。

RSpec

メール機能のRSpecメモ

テスト環境でもメイラーのメソッドが使える? require "rails_helper" RSpec.describe ArticleMailer, type: :mailer do let(:article_publish_wait_tomorrow) { create(:article, :article_publish_wait_tomorrow) } let(:article_published_yesterday) { c…

RSpec作成の流れ

RSpecの作り方の流れをまとめておきたい。 ※ 過去のメモと重複箇所多 テストコードはプロダクトコードに比べると絶対的な正解というのがあまりなく、色々な書き方が存在するので、解答例と寸分狂わずみたいなことを目指さなくて良い。 RSpec スペックファイ…

RSpecメモ(3)

letを使う let(:project) { create(:project) } let!(:task) { create(:task, project_id: project.id) } FactoryBotのファイルにprojectとのアソシエーションを記載すれば、テストデータ作成の際にproject_idを記載しなくても良いものと思っていたけれど、…

RSpecメモ(2) Capybara

qiita.com Capybara Webアプリ用のE2E(end to end…始めから終わりまでテストすること)テストフレームワーク 複数あるドライバ(動作システム)の中から使いたいものを選択できる →Capybaraのテスト実行環境(Headlessブラウザ)を選択 ※ ヘッドレスブラウザ…

RSpecメモ(1)

RSpecを書く際のポイントメモ ■ エラーチェック task = user.tasks.new(title: “”, content: “aaa”, status: :todo) expect(task.valid?).to be(false) expect(task.errors).not_to be_empty expect(task.errors[:status]).to eq [“can’t be blank”] errorが…