Flask Academy · Ders

Test İstemcisi ve Fikstürler

Testler için bir uygulama ve istemci başlatın.

1. ders / 413 adım

Test İstemcisi ve Fikstürler, CoddyKit'te ücretsiz bir Flask Academy dersidir. Bu, 4 dersinin 1. 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.

Flask Uygulamanızı Neden Test Etmelisiniz

testler, kodu korkmadan değiştirmenizi sağlar. pytest ile her route'un saniyeler içinde hâlâ çalıştığını kanıtlayabilir, uygulamanızı elle tıklayarak kontrol etmek zorunda kalmazsınız. 🧪

Test İstemcisiyle Tanışın

Flask, test istemcisi adı verilen sahte bir tarayıcı sağlar. Gerçek bir sunucu veya ağ bağlantısı olmadan route'larınızı bellekte çağırır.

client = app.test_client()
resp = client.get('/')

Uygulamanızdan İstemci Alma

app.test_client() çağrısını yaparak istemciyi oluşturursunuz. Bu çağrı, yöntemleri get ve post gibi gerçek HTTP fiillerini yansıtan bir nesne döndürür.

from app import app
client = app.test_client()

İstek Gönderme, Yanıt Alma

client.get('/') çağrısı bir yanıt nesnesi döndürür. Her şey Python içinde anında çalışmış olsa da bu nesneyi gerçek bir yanıtı inceler gibi incelersiniz.

resp = client.get('/')
print(resp.status_code)

Fixture Nedir

Bir fixture, pytest'in bir testten önce çalıştırdığı yeniden kullanılabilir kurulum kodudur. İstemciyi her yerde yeniden oluşturmak yerine bir kez tanımlar ve yeniden kullanırsınız.

İstemci Fixture'ı Yazma

Bir işlevi @pytest.fixture ile dekore edin ve bir test istemcisi yield edin. Adını bağımsız değişken olarak veren her test yeni bir istemci alır.

@pytest.fixture
def client():
    yield app.test_client()

Fixture'ı Adıyla İsteme

Bir fixture kullanmak için adını test bağımsız değişkeni olarak eklemeniz yeterlidir. Pytest eşleşmeyi bulur ve değeri sizin için otomatik olarak enjekte eder.

def test_home(client):
    resp = client.get('/')
    assert resp.status_code == 200

Fixture'larda yield ve return

yield kullanmak, test tamamlandıktan sonra temizleme işlemi yapmanızı sağlar. yield öncesindeki kod kurulumu, sonrasındaki kod ise tüm kaynakların kaldırılmasını gerçekleştirir.

@pytest.fixture
def client():
    yield app.test_client()
    print('cleanup here')

Fixture'ları Nereye Koymalı

Paylaşılan fixture'ları conftest.py adlı bir dosyaya koyun. Pytest bu dosyayı otomatik olarak bulur; böylece her test dosyası bu fixture'ları içe aktarmadan kullanabilir.

Test Dosyalarını Adlandırma

Pytest, test_ ile başlayan dosyaları ve aynı şekilde adlandırılmış işlevleri bulur. Bu kalıba uyarsanız testleriniz tek bir komutla çalışır.

# file: test_routes.py
def test_home(client):
    ...

Tüm Test Paketini Çalıştırma

Proje kök dizininizden terminalde yalnızca pytest komutunu çalıştırın. Bu komut tüm test dosyalarını toplar, çalıştırır ve başarılı veya başarısız sonuçların anlaşılır bir özetini yazdırır.

$ pytest
2 passed in 0.04s

Hızlı Kontrol

Yeniden kullanılabilir bir test istemcisi istiyorsunuz. Bunu nasıl yaparsınız?

Özet: İstemci ve Fixture'lar

Bellek içi test istemcisi ile tanıştınız ve bunu conftest.py içindeki bir fixture ile paylaşmayı öğrendiniz. Artık her test kullanıma hazır bir istemciyle başlıyor. 🎉

Başlamak ücretsiz

Yapay zeka eğitmeniyle Python öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Test İstemcisi ve Fikstürler” dersi ücretsiz mi?

Evet — “Test İstemcisi ve Fikstürler” 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 İstemcisi ve Fikstürler” dersinde ne öğreneceğim?

Testler için bir uygulama ve istemci başlatı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 1. dersidir.

“Test İstemcisi ve Fikstürler” 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

  1. Test İstemcisi ve Fikstürler
  2. Rotaları ve JSON’ı Doğrulama
  3. Test Veritabanıyla Testleri Yalıtma
  4. Kimlik Doğrulamalı Uç Noktaları Test Etme
← Flask Academy Sayfasına Dön