After let(:user) { create(:user) } # => RecordNotFound
factory-bot, rspec, ruby-on-rails
Solution
`let` calls are lazy-evaluated, they aren't run unless the specific method is called:
describe User do
subject { user }
let(:user) { create(:user) } # FactoryGirl
it { … }
end
Alternatively, use `let!` for preconditions which are always evaluated:
describe User do
let!(:user) { create(:user) } # FactoryGirl
it { … }
end
Problem
I have a test case: ``` describe User do let(:user) { create(:user) } # FactoryGirl it { User.count == 1 } end ``` And setup: ``` RSpec.configure do |config| config.include FactoryGirl::Syntax::Methods config.before(:suite) { DatabaseCleaner.strategy = :truncation } config.before(:each) { DatabaseCleaner.start } config.after(:each) { DatabaseCleaner.clean } config.use_transactional_fixtures = false end ``` Why it is not working? How to use let and got a really persisted records?