2011-12-07 13 views
6

RSpec 2からMiniTest::Specに移行するための戦略または一連のステップはありますか?私は大規模なプロジェクトでこれを行うのを見てみたいですが、どこから始めたらいいのか分かりません。RSpecからMinitest :: Specへの移行?

+0

最近私がMiniTestに感銘を受けたことはありませんでした。私はその時点でRSpecに固執することに決めました。つまり、MiniTestがRSpecとの競争力を向上させるならば、これは良い考えになるでしょう。 –

+2

前回のコメントが書かれた時から、Minitestはかなり成熟し、今はRails、Nokogiriなど多くの人が使っているものです。 –

答えて

8

私は長い間MiniTest ::スペックを使用していないが、私は、我々のテストのいくつかの自分自身を超える移植に取り組んでいますが、ここで私が気づいたことがいくつかRSpecのから来ている:

  • もちろんマッチャーは異なります。should/should_notの代わりにmust/wontとなり、述語マッチャーがなくなり、must_be_true/must_be_falseなどと言うことはできません。
  • あなたがカスタムRSpecマッチャーを書いたか、またはマッサーサーなどを使っているなら、minitest-matchers gemのおかげでMiniTestでそれらを使うことができるはずです。しかし、YMMV。
  • MiniTest :: Specはcontextを提供していないので、describeに変更するか、エイリアスにする必要があります。
  • MiniTest :: Specはdescribed_classも提供していません。
  • また、before :allもありません。
  • subjectは手動で設定する必要があります(私が間違っていると誰かが私を修正すると思います)。

あなたの質問に答えるには、既存のテストスイートを移植するという点で、簡単に見つけて置き換えることはできないのですが、各テストファイルを1つずつ移植する必要があります時間。明らかに、これは、その努力がその価値があるかどうかを判断する必要があることを意味します。

+0

Minitestは 'subject {}'をサポートしています(マニュアルでなければならないと思いますが、RSpecで明示的にそれを明示的に設定しています)、 'it {}'構文では動作しません。また、それ自身の種類の述語マッチャーがあります.RSpecの 'should be_valid'の代わりに' must_be:valid? 'を実行するだけです。 –

関連する問題