「describe・context・it(example)」の使い分けRSpecでは、テストコードの可読性を高める為、コメントアウトの他に文字でテスト内容の説明を記述することが出来ます。それにはテスト対象をグループ化するdescribeとcontextと、単一のテスト内容を表すit(example)があります。今回は、それらの一般的な使い分けの方法について説明します。describeについてdescribeは、複数のテスト(it(example))をグループにまとめることが出来ます。describeは、クラスやメソッドといった単位で、テストをグループ分けする際に利用されるが一般的です。テスト対象の範囲を記述することになります。docontextについてcontextは、describeと同様に、複数のテストをグループにまとめることが出来ます。contextでは、関連データの有無や時間経過の差異などの単位で、テストのグループ分けする際に利用されるが一般的です。テストの条件(状態)を記述することになります。doなおcontextとdescribeに機能的な違いは無い為、役割を入れ替えて使用することも可能です。一般的な書き方と離れる為、可読性が落ちるリスクがあります。it(example)it(example)には、単一のテスト内容を記述します。テストには実際に行う処理内容と、期待する結果をセットで記述して、それが一致するかでテストを実行します。doなお、これらの説明用の文字列が無くても、テストは正常に実行されます。可読性を高める為には不可欠な要素です。参考コード以下はMastodonというサービスのテストコードです。endこのようにdescribe・context・it(example)を使い分けることで、コードの可読性が高まります。Qiita《今日の学習進捗(3年以内に10000時間に向けて)》デザインパターンの勉強中。日)IBMのWatsonきっかけでエンジニアに憧れて28歳未経験でWebエンジニアへ転職。2018年12月から3年間で「10000時間」をプログラミングに捧げる計画を立て、学んだことをブログの投稿中。Activitiesryoutakuこのサイトについてプライバシーポリシ。