RSpecとMinitestの違いってなんだろ?

Rubyで利用できるテスティングツールのRSpecとMinitestについて違いを軽く調べてみた。

きっかけ

bundle gemでgemパッケージの雛形を生成しようとした時の話

 ❯ bundle gem ressy_gem_sample                                             [19:31:20]
Creating gem 'ressy_gem_sample'...
Do you want to generate tests with your gem?
Type 'rspec' or 'minitest' to generate those test files now and in the future. rspec/minitest/(none):

こんな質問が飛んできた。
「どっちにしようかな?&この2つってどう違うんだろ?」ってなったので軽く調べた。

RSsecとMinitestの違い

ここを参考にしました。
RSpecとMinitest、使うならどっち? / #kanrk06 // Speaker Deck

できること自体はRSpecもMinitestも差して違いはないみたい。
それ以外の部分で違いがあって、ざっくり比較するとこんな感じ。

  • 文法・構文の違い
    • RSpec:Spec形式(DSLで記述)だけが利用できる
    • Minitest:xUnit形式(純粋にRubyで記述)とSpec形式の両方が利用できる
  • 利用率、情報量
    • RSpec:多い
    • Minitest:少ない

この辺を踏まえて、とりあえずRSpecを使うことにした。

理由

  • 情報量が多いので、自己学習目的としてはとっつきやすいと判断
  • RSpecを身につけてから、Minitestを勉強し始めても遅くはないかなと思った

参考

この記事は以下を参考にしています

RSpecとMinitest、使うならどっち? / #kanrk06 // Speaker Deck