前提・実現したいこと
railsでRspecのテストを通したい。
発生している問題・エラーメッセージ
エラーメッセージは下記になります。
Failures:
-
Products GET #show レスポンスが正しく返ってくるか
Failure/Error: expect(response).to be_success
expected nil to respond tosuccess?
./spec/requests/products_spec.rb:6:in `block (3 levels) in <top (required)>'
-
Products GET #show 商品ページが表示されるか
Failure/Error: expect(response).to render_template(:show)NoMethodError:
undefined method `body' for nil:NilClass./spec/requests/products_spec.rb:11:in `block (3 levels) in <top (required)>'
Finished in 0.07303 seconds (files took 8.29 seconds to load)
2 examples, 2 failures
Failed examples:
rspec ./spec/requests/products_spec.rb:5 # Products GET #show レスポンスが正しく返ってくるか
rspec ./spec/requests/products_spec.rb:10 # Products GET #show 商品ページが表示されるか
### 該当のソースコード spec/requests/requests_spec.rb require 'rails_helper' RSpec.describe "Products", type: :request do describe "GET #show" do it "レスポンスが正しく返ってくるか" do expect(response).to be_success expect(response).to have_http_status 200 end it "商品ページが表示されるか" do expect(response).to render_template(:show) end end end products_controller.rb class ProductsController < ApplicationController def show @product = Spree::Product.find(params[:id]) end end ### 試したこと pryでのデバッグ ### 補足情報(FW/ツールのバージョンなど) docker環境でsolidusを使用し、ECサイトを作成している途中でのエラーです。 showアクションが正常に作動するかのテストをしたいです。 2つエラーが出ておりまして、値がnilになっていると思いましたが、pryで@productの中身は入っておりました。 テストコード自体が触るの初めてですので、質問の仕方に不憫な箇所があるかも知れませんが、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー