質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

Q&A

解決済

2回答

1641閲覧

Rspecのresponseがnullになってしまう

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

0グッド

0クリップ

投稿2021/07/13 03:56

rpsecを回したときにresponse.parsed_bodeyが[]になってしまい、letで用意したデータが取得できません。取得したい値は以下の様な形式ですcurlコマンドでは取得できたのですがrspecだとできないのでアドバイスいただきたいです。

[ { category:book amount:10 }, { category:pen amount:100 } ]

controller

def index @category_history = CategoryHistory.all.group(:category).sum(:amount) end

json.builder

json.array! @category_history do |ch| json.category ch[0] json.amount ch[1] end`

rspec

require 'rails_helper' Rspec.describe 'カテゴリー取得', type: request do describe 'GET /api/vi/user/category do' context 'テスト' let(:header){省略} let(:api_path) {省略} let!(:category){create(:category_01)} before do get api_path params: {}, headers: headers end it 'データ取得' expect(response.pardsed_body) end end end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

そもそもレスポンスが帰って来ていないのでは?
rspecの出力が載っていないから想像ですが。。。

action indexの中や view indexの中で Fatalしているのでは?

投稿2021/07/13 23:08

winterboum

総合スコア23567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/07/14 11:08

ありがとうございます 確認してみます!
guest

0

ベストアンサー

curlコマンドで実行した結果は development 環境のものなので、test 環境でうまく結果を取得できないのはFactoryBot でのデータ投入が意図した通りに行っていないのでしょうね。
index アクションの @category_history のすぐ下で pp @category_history したりして根気よくデバッグする必要があります。

また、let!(:category){ create(:category_01) } という記述はちょっとおかしい気がします。 Categoryモデルの FactoryBotは通常 let!(:category){ create(:category) } になるんじゃないでしょうか。
RSpec の it ブロックの中で pp Category.all などしてみて、期待した通りのデータが投入されているかを確認してみてください。

投稿2021/07/13 19:28

oakbow

総合スコア227

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/07/14 11:08

ありがとうございます。 根気よくデバックして確認してみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問