kayıtlarını tutuyor Bir kullanıcı testini her çalıştırdığımda, Test tamamlandıktan sonra RSpec Test edilen veritabanını test tamamladıktan sonra diğer testlerimi bozuyor. Bir rake db:test:prepare
yapacağım, ancak testlerimi tekrar çalıştırdığımda, kayıt veritabanımda yeniden oluşturulur. Bunun neden olduğu hakkında hiçbir fikrim yok. Sadece kullanıcı nesnelerinde olur. Benim spec_helper dosyasındaRSpec, test veritabanında
Hatta var:
it "creates a password reset token for the user" do
alice = Fabricate(:user)
post :create, email: alice.email
expect(assigns(alice.password_reset_token)).to_not eq(nil)
end
Fabrikatör:
Fabricator(:user) do
email { Faker::Internet.email }
password 'password'
name { Faker::Name.name }
end
bu ilgisi olabilir İşte
config.use_transactional_fixtures = true
rekor oluşturan bir örnek testtir Kullanıcılarımın modeli ile yapmak?
Çok eski sonrası biliyorum ama şu anda veri benim veritabanında (i aldım eski projeden silinmesini ilgili sorunlar yaşıyorum) varsayılan olarak yapar. Açık olmak gerekirse, “önce: hepsi var mı ... sonu” içinde bir şey işlem dışı değil mi? Bu neden ve şimdi bir gün boyunca başımı tırmalamak zorunda kaldım, bu konuda dokümantasyon çok sınırlı.örneğin, bu kod 'önce: tümünü içerir: User.delete_all end'. Düzenleme: Tamam, sadece bu bulundu (https://relishapp.com/rspec/rspec-rails/docs/transactions). wow, orijinal görevimi yapabilmek için çok fazla kodu yeniden kodlamak için zamanım var! – wired00