4
4

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 5 years have passed since last update.

rails rspec 非同期通信のためのテストコード[備忘録]

Posted at

rails rspec 非同期通信のためのテストコード

非同期通信のためのテストコードを書くときに少し詰まったので解決策をメモしておきます。

環境

  • rails 2.5.3

## コード

require 'rails_helper'

RSpec.describe 'Messages', type: :request do

  let(:user) { create(:user, :with_message_group) }
  let(:params) { { message: { message: "good"} } } 
  before do
    sign_in(user)
  end

  describe "create message" do

    it "create message" do
      post message_group_messages_path(message_group_id: user.message_groups.first.id), xhr: true, params: params
    end
  end

end

ポイントは下のコードの部分です。

    it "create message" do
      post message_group_messages_path(message_group_id: user.message_groups.first.id), xhr: true, params: params
    end

xhr: trueにすることで非同期通信でテストができます。

また文法の面でも詰まったのでそこも少し。

    it "create message" do
      post message_group_messages_path(message_group_id: user.message_groups.first.id), xhr: true, params
    end

最初paramsのところをこんな感じに書いていたのですが、シンタックスエラーが出てました。エラー文読んでもわからなくて冷静に見直したら

params: params

このように書かないといけないですね、気をつけないと。

## 参考

4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?