CarrierWaveを使ったmodelのRSpecを通すRubyRSpecGemRails5備忘録です。今までActionDispatchを使ってRSpecで画像アップロードのテストを行っていたのですが、今回はCarrierWaveを使っていたのでmodelを通さなければいけない、createアクションで画像アップロードのテストをしたいと思ったので、試しにやってみました。書き方はGitHubのwikiにありましたのでこちらを参考にしました。5.1.1FactoryGirl上で用意するまずはbookモデルに対してFactoryで画像を用意する場合です。こちらは参考にしたGitHubと同じ書き方です。endendspec/fixture配下の画像ファイルを用意している前提です。ここではimage.jpgを読み込んでいます。作成した上記のfactoryをspec上で呼び出せばCarrierWaveで用意したImageUploaderモデルのカバレッジは通ると思います(未検証)。spec上で用意するspecのcreateアクションに対して用意する場合です。createなので基本的にはfactoryを用いずに直打ちでletを用意して行きます。end...こんな感じでいけます。before以下は別として遅延評価letで用意するところだけを見れば良いです。createする際にletで用意したimageを渡してあげればImageUploaderのカバレッジは通ります。spec上で書いた場合はカバレッジ計測確認済です。困った方はぜひ試してみてください。upLoginユーザーは見つかりませんでした。