нехай генерує метод, значення якого повертається після першого виклику. Це відомо як відкладене завантаження, оскільки значення не завантажується в пам'ять, доки не буде викликано метод. Ось приклад того, як let використовується в тесті RSpec. let створить метод під назвою thing, який повертає новий екземпляр Thing. 24 січня 2017 р.
У RSpec ключове слово let дозволяє визначати змінні, які можна перевизначати у вкладених контекстах. Це означає, що ви можете перевизначити початкове визначення змінної let у більш конкретному контексті, забезпечуючи гнучкість у встановленні різних значень для тієї самої змінної в різних сценаріях.
Основна відмінність між subject і let полягає в тому предмету автоматично призначається екземпляр класу, який ви тестуєте, тоді як let має бути явно призначено значення.
нехай! викликається перед кожною спец. Він не запам'ятовується, як let. Отже, у нашому прикладі вище користувач створюється перед кожною специфікацією, тоді як обліковий запис створюється лише один раз і запам’ятовується. У Rspec також є хук перед, який ми можемо використати для виконання деякого коду перед виконанням усіх специфікацій у певному блоці.
Ви можете використовувати let! для примусового виклику методу перед кожним прикладом. Різниця між let і let! це що нехай! викликається в неявному блоці перед. Тому результат оцінюється та кешується перед блоком it.
Ми використовуємо let говорити про дозвіл. Let супроводжується об’єктом та інфінітивом без to: She let me look at the photos.