RSpecのテストコードには、テストの内容を整理するための構文としてdescribe構文があります。

describe構文とは

テストの内容毎に整理したり分類するための宣言となります。

宣言したテスト内容に関連するテストをブロック内に書いていけば、テストコードを階層的に整理することができます。

他にもテストコードを仕分ける構文にcontext構文というものもありますが、こちらはテストの状態を分けるのに利用すると良いかと思います。

describeやcontextは幾つでも記述でき自由度も高いので、しっかりと使い分けをしないと可読性が落ちてしまうこともあるので、役割をしっかり判断して使用していきたいですね。

書き方

構文にはdescribeの後に文字列を記述することができ、何についてのテストかを分かりやすくするために説明文を記述します。

describe宣言の後に続くdo〜endのブロック内にテストの内容を記述していきます。

Rspec.describe 'ユーザーに関するテスト' do
.
.
.
end

説明文には、他にもテスト対象のクラス名やメソッド名を書く慣習もあります。

Rspec.describe [クラス名] do
end

Rspec.describe '#[メソッド名]' do
end

スペックの種類などで多少異なるかもしれませんが、システムやクラス単位などの大きなカテゴリでdescribeを書く場合は、それぞれテストコードのファイルを用意すると良いかと思います。

user_spec.rb

Rspec.describe User do
.
.
.
end

task_spec.rb

Rspec.describe Task do
.
.
.
end

投稿者: TWEI

趣味はプログラミング。 以前は仕事でプログラミングをやっていました。現在はWebエンジニアを目指して勉強中。 勉強で得た知識などをブログで発信していく予定です。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA