0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Rails】個人開発のRailsアプリにRSpecを最小構成で導入してみた話

0
Posted at

はじめに

RailsアプリにRSpecを導入してみました。
今回は、既存のMinitestをすべて置き換えるのではなく、必要な部分から少しずつRSpecを使う方針で進めました。

環境

  • Ruby
  • Rails
  • Docker
  • PostgreSQL
  • RSpec

RSpecを導入した背景

  • Railsのテストとしてよく使われているため
  • 今後の実務を意識して触れておきたかったため
  • 既存アプリの一部から試してみたかったため

導入手順

  • Gemfileに rspec-rails を追加
  • bundle installを実行
  • RSpecの初期設定
  • specディレクトリの作成

実際に書いたテスト

  • Serviceクラスのテストから始めた
  • ControllerやSystem Specではなく、まずは小さく始めた

詰まったこと

  • MinitestとRSpecが混在してもよいのか迷った
  • specファイルの置き場所に迷った
  • RuboCopの指摘に反応した(主にテストコードが長いなど)

学んだこと

  • 個人開発であれば、既存アプリにRSpecを少しずつ導入する方法も選択肢になる
  • 最初からすべてのテストをRSpecに置き換えなくても、Serviceクラスなど小さな範囲から試すことができる
  • ただし、チーム開発では既存のテスト方針や運用ルールに合わせる必要がある
  • RSpecを導入する目的を明確にしてから進めることが大切だと感じた

まとめ

今回は、個人開発のRailsアプリにRSpecを最小構成で導入してみました。

RSpecというと、最初から本格的に使いこなさなければならない印象がありましたが、実際にはServiceクラスのような小さな範囲から試すこともできました。

既存のMinitestをすべて置き換えるのではなく、まずは一部だけRSpecで書いてみることで、導入の流れやspecファイルの書き方を少しずつ理解できたと感じています。

ただし、これはあくまで個人開発での進め方です。チーム開発では、既存のテスト方針やCI、レビュー方針に合わせる必要があります。

今回の経験を通して、RSpecは最初から完璧に導入するものではなく、目的を決めて小さく試すことから始めてもよいと学びました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?