コントローラーspecのassignsでの割り当てテストの際に、どのように割り当てた要素数をテストするか実装の際に調べたので備忘録としてメモしておく。
方法
実際使用したコード
#related_productsに割り当てられている要素数は4個であるはず。
expect(assigns(:related_products).size).to eq 4
例のようにsize
を使用し、be
やeq
で数字を指定すればOKぽい。
ちなみに以前は、
expect(assigns(:related_products)).to have(4).items
でいけたらしいがrspec3.0~は削除された模様。今後もし要素の個数を数えるテストが必要になった場合は上の方法を使用するのがよさそう。でも調べたらあまり該当記事がなかったのであまり使用するケースも多くないのかな〜