0
0

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 1 year has passed since last update.

【RSpec】インスタンス変数よりletを使う理由

Posted at

そういえばRSpecではインスタンス変数使ってるのほとんど見かけたことないなと思ったことがきっかけで調べた。
その中でももっともらしいなと感じた理由のみ抜粋。

##インスタンス変数よりletを使う理由
(詳しいことは参考記事に)

  • typoにすぐ気づける

letはtypoした場合undefined local variable or methodのエラーがでる。
インスタンス変数の場合nilと評価されるため、インスタンス変数をtypoしたことにすぐには気づけない可能性がある。

####ちなみに
let! は即時にデータ作成される。
let は呼ばれて初めてデータ作成される。(遅延評価)
テストによって意図的にletを使って、呼ばれるまでデータ作成を行わない遅延評価を使うほうがいい場合もある。
let!とletは使い分けずに、**let!**のみを使用したほうがよい」みたいな意見も見たことがあるけど、
脳死せずにそのときは何がベストなのかを考えて使い分けたい。

##参考

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?