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?

RSpecでGET・POSTはどれ?

Posted at

概要

Rspecのrequestsの部分を書く必要がありました。ここで初心者たる私はdescrideの後に続くGETPOSTをどう書けばいいのかわからないのでこの記事に忘備録として残しておきます。

使用環境

docker・Ruby on Rails

方法

コンテナ内に入る

docker環境でプロダクトを作成しているのでexecコマンドで中に入ってください(私たちのプロダクトはwebを使用しています。)
webの部分はcompose.ymlなどを見て自身で置き換えてください

docker compose up
docker compose exec web bash

GET・POSTを判断する

下記のコマンドを打ってGET・POSTを判断してください

rails routes | grep ◯◯◯◯◯◯◯◯

ここの◯◯◯◯◯◯の部分は自身のプロダクトのspec/requests/admin/◯◯◯◯◯◯_spec.rbを参考にしてください。
今回はrelease_noteの作成しているのでrelease_noteとなっています。

rails routes | grep release_notes

結果

    root@2c89aaab34d5:~/deeadada# rails routes | grep release_notes
                            release_notes GET      /release_notes(.:format)                                          release_notes#index
                             release_note GET      /release_notes/:id(.:format)                                      release_notes#show
                      admin_release_notes GET      /admin/release_notes(.:format)                                    admin/release_notes#index
                                          POST     /admin/release_notes(.:format)                                    admin/release_notes#create
                   new_admin_release_note GET      /admin/release_notes/new(.:format)                                admin/release_notes#new
                  edit_admin_release_note GET      /admin/release_notes/:id/edit(.:format)                           admin/release_notes#edit
                       admin_release_note GET      /admin/release_notes/:id(.:format)                                admin/release_notes#show
                                          PATCH    /admin/release_notes/:id(.:format)                                admin/release_notes#update
                                          PUT      /admin/release_notes/:id(.:format)                                admin/release_notes#update
                                          DELETE   /admin/release_notes/:id(.:format)                                admin/release_notes#destroy

あとはテストを書くだけ

あとは自身のcontrollerを見てテストを書いてください

ここの中身は濁すのですが、こんな感じで自身で判断して書いてください。上記のコマンドでGET・POST等が判断で切るのでそれで書いてください。

describe "GET /admin/release_notes" do
    it "hogehoge" do
        ~~~~
        ~~~~
    end
end

describe "GET /admin/release_notes/:id" do
    it "hogehoge" do
        ~~~~
        ~~~~
    end
end

describe "POST /admin/release_notes" do
    it "hogehoge" do
        ~~~~
        ~~~~
    end
end
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?