9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RSpecのletにパラメータを渡したくなったとき

Last updated at Posted at 2016-07-28

RSpecのletにパラメータを受け取って、柔軟にオブジェクトを生成したいときありますよね。そんなときRSpec let parametersとかで検索しても欲しい答えにたどりつけない。そもそもパラメータなんて受け取れない。

そこで思いついたのが、パラメータにしたかった部分をさらにlet化することだ。

let(:hoge) { create(:hoge, :easy) }

上記の:easyの部分が、:easy, :normal, :difficultなど複数のパターンを取るとき、let引数(パラメータ)を受け取れたらいいのになあと思う。

しかし、引数を受け取ることはできない。我々はRSpecという新しい言語パラダイムの中にいるのだ

let(:hoge) { create(:hoge, status) }

として、適切な箇所で、

let(:status) { :easy }

というようにして、欲しいlet(:hoge)を作っていく。

9
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?