Bu rehber, Laravel’de .env.testing ve phpunit.xml kullanarak test ortamını nasıl doğru bir şekilde yapılandıracağınızı açıklar.
📌 Genel Bakış
Otomatik testler çalıştırıldığında, test ortamınızı geliştirme ve üretimden izole etmelisiniz. Bu, kazara veri kaybını önler ve test güvenilirliğini artırır.
⚙️ 1. .env.testing Oluşturun
Laravel projenizin kök dizininde bir .env.testing dosyası oluşturun:
APP_NAME=laravelAPP_ENV=localAPP_KEY= # uygulama anahtarı
APP_DEBUG=trueAPP_URL=http://laravel.testAPP_LOCALE=enAPP_FALLBACK_LOCALE=enAPP_FAKER_LOCALE=en_USAPP_MAINTENANCE_DRIVER=fileBCRYPT_ROUNDS=12DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE= # test veritabanınız (örneğin, laravel-testing)
DB_USERNAME=rootDB_PASSWORD=
SESSION_DRIVER=databaseSESSION_LIFETIME=120SESSION_ENCRYPT=trueSESSION_PATH=/
SESSION_DOMAIN=null
✅ Notlar Test için ayrık bir veritabanı kullanın. Asla geliştirme veya üretim veritabanınızı yeniden kullanmayın.
Test veritabanınızın mevcut olduğundan emin olun Gerekirse göçleri çalıştırın
Sonra aşağıdaki komutu çalıştırın:
php artisan test
⚡ İpuçları İzolasyon: APP_ENV=testing, .env.testing dosyasının kullanılmasını sağlar. Performans: CACHE_STORE=array SESSION_DRIVER=array QUEUE_CONNECTION=sync Daha Hızlı Hashing: Test sırasında BCRYPT_ROUNDS’u azaltın Ekstra Özellikleri Devre Dışı Bırakın: Telescope, Pulse gibi araçları devre dışı bırakarak testleri hızlandırın
✅ Özet
Bu yapılandırma ile:
Testler daha hızlı çalışır ⚡ Veriler güvende kalır 🔒 Çevre izole kalır 🧪