Rspec-metadata
提供:Dev Guides
RSpec-メタデータ
RSpecは柔軟で強力なツールです。 RSpecのメタデータ機能も例外ではありません。 メタデータは一般に「データに関するデータ」を指します。 RSpecでは、これは describe 、 context および* itブロック*に関するデータを意味します。
例を見てみましょう-
上記のコードを実行すると、この出力が表示されます-
メタデータは、RSpecファイル内のさまざまなスコープで変数を割り当てる方法を提供します。 example.metadata変数は、例および例グループに関する他の情報を含むRubyハッシュです。
たとえば、上記のコードを次のように書き換えてみましょう-
このコードを実行すると、example.metadataハッシュ内のすべての値が表示されます-
ほとんどの場合、このメタデータのすべてを使用する必要はありませんが、完全な説明値を見てください-
メタデータ変数と別の変数を持つコンテキストを持つサンプルグループは、コンテキストブロック内のメタデータ変数にアクセスできます。
これは、describeブロックの説明+含まれるコンテキストブロックの説明+ * itブロック*の説明から作成された文です。
ここで興味深いのは、これら3つの文字列が一緒になって通常の英語の文のように読めることです。 . . これはRSpecの背後にある考え方の1つであり、動作の英語の説明のように聞こえるテストを持っています。