RSpec の before の順番を調べてみた

6318 ワード

はじめに

RSpec の before の実行される順番、よくわからなくないですか?

調べてみると letlet!before など、別のブロック間の実行順序などは出てくるんですが、 context が複雑にネストしていて、かつそれぞれに before ブロックが存在する場合、どういった順番で実行されるのか、検索して調べてもあまり出てこないですよね。順番に依存しない before ブロックを書ければ良いですが、必ずしもそうじゃありません。

今回の記事では、before が様々なブロックに散らばっている場合、各テスト前にどの順番で実行されるか調べてみました。

RSpec とは

Rubyのテスティングフレームワークです。