1. どこをテストするか


2. 何を期待するか


3. コードの意図(何を確認しているか)

  describe "GET /api/v1/articles/:id" do
    let(:user) { create(:user) }
    let(:article) { create(:article, user: user, status: :published) }

    context "記事が存在する場合" do
      it "認証なしで記事詳細を取得できる" do
        get "/api/v1/articles/#{article.id}"

        expect(response).to have_http_status(:ok)
        expect(json_response["id"]).to eq(article.id)
        expect(json_response["title"]).to eq(article.title)
        expect(json_response["body"]).to eq(article.body)
        expect(json_response["updated_at"]).to be_present