📖

(自分用メモ)最終課題2 ECサイト Rspecの引数の場合分けの問題 引数=Nilと空欄

2023/01/03に公開

<結論>
Rspecの書き方の問題
全て通すには、引数について以下のパターン分けが必要
・引数=引数の場合
・引数=nilの場合
・引数=空欄の場合
※下二つは引数がない

expect(helper.full_title(nil))
expect(helper.full_title(""))

<以下本文>
■現状

表題の件、最終課題2にて、PR提出→レビューを頂きました。

商品詳細ページのタイトル(実装済み)をテストするRspecを実装中です。

■既に試したこと、参考にしたページ

https://mng-camp.potepan.com/questions/15b7cbbd-47f6-444b-beae-f30171d0b7fb

https://mng-camp.potepan.com/questions/0fe22694-5a4f-45a3-8d26-aefc1c63d74e

https://mng-camp.potepan.com/questions/dc6da1f3-1c97-4c98-b7dc-8eb640ac39ad

https://stackoverflow.com/questions/65894848/rspec-an-error-occurred-while-loading-did-you-mean

■実際に出ているエラー(上記添付参照)

ローカルにて

docker内で bundle exec rspec spec/helper/application_helper_spec.rb 実行後

An error occurred while loading ./spec/helper/application_helper_spec.rb.

Failure/Error: require File.expand_path('../config/environment', dir)

のエラー

■やりたいこと

ローカルでエラーを解決し、HerokuデプロイでRspec、Rubocop、CI全て自動で実施されるようにしたい

■質問

自分が調べた限りですとdocker上で新たにGemfileをインストールするが正解な気がしますが、合ってますでしょうか?

そもそも根本的に間違っている場合もありますので、そこも含めてご指導いただければと思います。

■git(PRレビュー)

https://github.com/potepancamp/Hiro-Nagai/pull/3

回答
ユーザー画像
長井宏樹

2022/12/22 15:45

タイポが見つかりました。(申し訳ありません)

同様に実行しましたら、以下のエラーとなりました。

現在調査中ですが、一旦報告させて頂きます。

ユーザー画像
m h0ri(レビュアー)

2022/12/22 16:09

エラーを見た感じだと、引数の数が間違っているようなので、実装側とテスト側で何か引数の渡し方が間違っている可能性が高いかなと思いました。

その辺りをまずは調べていただければと思います!

ユーザー画像
長井宏樹

2022/12/22 16:59

m h0ri様

ご回答ありがとうございます。

テストの方で、引数なくとも、通る形にしました。

expect(helper.full_title(nil))

expect(helper.full_title(""))

お手数おかけしました。

Discussion