Rspec-stubs
提供:Dev Guides
RSpec-スタブ
RSpec Doubles(別名Mocks)に関するセクションをすでに読んでいれば、RSpecスタブはすでに見ています。 RSpecでは、スタブはよく「メソッドスタブ」と呼ばれます。これは、既存のメソッド、またはまだ存在しないメソッドを「代用する」特別なタイプのメソッドです。
ここにRSpec Doublesに関するセクションからのコードがあります-
この例では、allow()メソッドはClassRoomクラスをテストするために必要なメソッドスタブを提供します。 この場合、Studentクラスのインスタンスのように動作するオブジェクトが必要ですが、そのクラスは実際には存在しません(まだ)。 Studentクラスはname()メソッドを提供する必要があることを知っており、allow()を使用してname()のメソッドスタブを作成します。
注意すべきことの1つは、RSpecの構文が長年にわたって少し変わったことです。 RSpecの古いバージョンでは、上記のメソッドスタブはこのように定義されます-
上記のコードを使用して、2つの* allow()*行を古いRSpec構文に置き換えてみましょう-
上記のコードを実行すると、この出力が表示されます-
RSpecの例でメソッドスタブを作成する必要がある場合は、新しいallow()構文を使用することをお勧めしますが、ここでは古いスタイルを提供しているので、見たときにそれを認識できます。