U_OK_2023’s blog

主に日々のプログラミング学習についてのアウトプットと備忘録

【エラー】conflict spec/factories/users.rb【重複してしまった】

本日のオリジナルアプリ実装備忘録

 

GitHub にて エラーハンドリング実装についての commit → push

本番環境にて挙動確認 OK

 

ユーザー管理機能

モデル単体テスト

 

エラー発生

現状説明:

ユーザー管理機能においてモデル単体テストを実装 rails g rspec:model user コマンドを実行 下記、コメントが表示された

 

mac@yunoMacBook-Air hibitumo % rails g rspec:model user
create spec/models/user_spec.rb
invoke factory_bot
conflict spec/factories/users.rb
Overwrite /Users/mac/projects/hibitumo/spec/factories/users.rb? (enter "h" for help) [Ynaqdhm]

    •  

      
      

仮説

conflict ということは、

spec/factories/users.rb  はもうあるよ(重複している)ということ

 

試したこと

内容を調べた結果

この場合「Overwrite /Users/mac/projects/hibitumo/spec/factories/users.rb?」というメッセージが表示されていて、元のファイルを新しいもので上書き(Overwrite)するかどうか確認している状態です。

(Ynaqdhm) の各文字は以下を意味します:

  • (Y)es:上書きする
  • (N)o:上書きしない
  • (A)ll:全て上書きする
  • (Q)uit:コマンドを中断する
  • (D)iff:差分を表示する
  • S(k)ip:スキップする

ただし、spec/factories/users.rbファイルは
テストデータの設定を行うFactoryBotのファイルで、
既に重要な設定が書かれている可能性がありますので、
キャンセルしてから手動で必要な設定を追加する方が安全かもしれません。

とのことで、追加コマンドを要求されている状況

 

結果:

users.rb には すぐに復元できるように内容をバックアップしていたので、

今回は試しに、

Y の上書きにした結果

今まで記述していた内容は上書きされ初期状態に戻った。

 

原因:

rails g rspec:model user を使用する前に、 手動で user.rbファイルを作成したことで、 フリクションを起こした

 

解決方法:

追加コマンドに従い、コマンドを実行した

 

気付き:

上書きとは初期状態に戻すことだということがわかった。

通常であれば、N の上書きしないが良さそう。

 

引き続き、実装していきます。