Я читал, что руководство RSpec говорит о разнице, но некоторые вещи все еще сбивают с толку. Любой другой источник, включая «Книгу RSpec», объясняет только «let», а «The Rails 3 Way» так же сбивает с толку, как и руководство.
Я понимаю, что "let" оценивается только при вызове и сохраняет одно и то же значение в пределах области видимости. Таким образом, имеет смысл, что в первом примере в руководстве первый тест проходит успешно, так как "let" вызывается только один раз, а второй тест проходит, поскольку он добавляется к значению первого теста (который оценивался один раз в первом тесте и имеет значение 1 ).
После этого, так как «пусть!» оценивает при определении и снова при вызове, не должен ли тест завершиться ошибкой, поскольку «count.should eq (1 )» вместо этого должен быть «count.should eq (2 )»?
Будем признательны за любую помощь.