Test Veritabanıyla Testleri Yalıtma
Her test çalıştırmasında geçici bir DB kullanın.
Test Veritabanıyla Testleri Yalıtma, CoddyKit'te ücretsiz bir Flask Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Flask Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Flask Academy kursu toplamda 4 dersten oluşur.
Veritabanını Neden Yalıtmalısınız
Testler gerçek verilerinize asla dokunmamalıdır. Bir test veritabanı her çalıştırmayı temiz tutar; böylece bir test başka bir testi veya üretim kayıtlarınızı bozamaz.
Geçici bir SQLite Veritabanı Kullanın
En kolay seçenek bellek içi SQLite veritabanıdır. Yalnızca RAM'de bulunur ve test süreci sona erdiği anda ortadan kalkar.
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///:memory:'Test Yapılandırmasını Etkinleştirin
Testler çalışmadan önce TESTING değerini True olarak ayarlayın. Bu, hata yakalamayı kapatır; böylece istisnalar çıktınızda açıkça görünür.
app.config['TESTING'] = TrueYeni Bir Şema Oluşturun
Bir uygulama bağlamının içinde db.create_all() çağrısını yapın. Bu, modellerinizdeki tüm tabloları oluşturur; böylece her test çalıştırması boş bir şemayla başlar.
with app.app_context():
db.create_all()Testlerden Sonra Temizleyin
Testten sonra tüm tabloları kaldırmak için db.drop_all() çağrısını yapın. Bu, sonraki çalıştırmanın geride kalan kayıtları devralamayacağını garanti eder.
with app.app_context():
db.drop_all()Bunu Bir Fixture'a Koyun
Kurulumu ve temizlemeyi tek bir fixture içinde kapsülleyin. yield öncesindeki kod şemayı oluşturur; sonrasındaki kod ise her şeyi temiz şekilde kaldırır.
@pytest.fixture
def app_db():
db.create_all()
yield
db.drop_all()Örnek Veriler Ekleyin
Birçok testin okumak için bilinen bir kayda ihtiyacı vardır. Fixture içinde bir kayıt ekleyin, ardından testin öngörülebilir bir durumdan başlaması için commit edin.
db.session.add(User(name='Ada'))
db.session.commit()Temiz Başlangıç Durumu Neden Önemlidir
Testler hangi sırayla çalıştırılırsa çalıştırılsın başarılı olmalıdır. Yalıtım, her testin aynı başlangıç verilerini görmesi demektir; böylece sonuçlar daha önce neyin çalıştırıldığına bağlı olmaz.
Testler Arasında Geri Alın
Tabloları yeniden oluşturmanın bir alternatifi rollback kullanmaktır. Her testi bir işlem içinde kapsülleyin ve hızlı, temiz bir başlangıç durumu için sonrasında geri alın.
db.session.rollback()Test Yapılandırmasını Ayrı Tutun
Test ayarlarını özel bir TestConfig sınıfında saklayın. Fabrikanız bunu yalnızca testler sırasında yüklesin; geliştirme veya üretim sırasında yüklemesin.
class TestConfig:
TESTING = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:'Üretim Veritabanına Karşı Asla Test Yapmayın
URI'nin bir test veritabanını gösterdiğini her zaman iki kez kontrol edin. Testleri üretim verilerine yönlendirmek, gerçek kayıtları kaybetmenin en hızlı yoludur.
Hızlı Kontrol
Gerçek verilere asla zarar vermeyen testler istiyorsunuz. Hangi veritabanını kullanırsınız?
Özet: Test Veritabanı
Temiz bir test veritabanı oluşturuyor, bilinen verileri ekliyor ve sonrasında kaldırıyorsunuz. Artık testleriniz hızlı, tekrarlanabilir ve güvenli. 🗄️
Sıkça Sorulan Sorular
“Test Veritabanıyla Testleri Yalıtma” dersi ücretsiz mi?
Evet — “Test Veritabanıyla Testleri Yalıtma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Flask Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Flask Academy kursu toplamda 4 dersten oluşur.
“Test Veritabanıyla Testleri Yalıtma” dersinde ne öğreneceğim?
Her test çalıştırmasında geçici bir DB kullanın. Flask Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Flask Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Flask Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Test Veritabanıyla Testleri Yalıtma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Flask Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Flask Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Test İstemcisi ve Fikstürler
- Rotaları ve JSON’ı Doğrulama
- Test Veritabanıyla Testleri Yalıtma
- Kimlik Doğrulamalı Uç Noktaları Test Etme