0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Rails]ActiveJobのテスト方法[Rspec]

Posted at

はじめに

RspecでのJobのテスト方法を書いていきます。

やること

今回はユーザー作成した際に、Slack通知がされるJobのテストを実装します。

実装

require "rails_helper"

RSpec.describe SlackNotification::UserCreatedJob do
  # テストの対象
  describe "#perform" do
    # Job作成のコマンドを変数に入れる
    subject { SlackNotification::UserCreatedJob.new.perform(user.id) }

    # ユーザーを作成する(FactoryBotを使用する)
    let(:user) { create(:user) }
    
    #Jobがエンキューされたとき
    it "enqueues SlackNotificationJob" do
      # SlackNotificationJobの数が1個増えることを期待する
      expect { subject }.to change { SlackNotificationJob.jobs.count }.by(1)
    end
  end
end

説明

今回はJobを実行したときに、1つエンキューしたJobが増えるので、その増えた数でテストをしています。

さいごに

Jobのテストって、何をテストしたら良いのか分かりづらかったです、、

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?