Yeni özellikler yazarken, hata düzeltirken veya kod refactor ederken bu skill'i kullanın. Unit, integration ve E2E testlerini içeren %80+ kapsam ile test güdümlü geliştirmeyi zorlar.
Yeni özellikler yazarken, hata düzeltirken veya kod refactor ederken bu skill'i kullanın. Unit, integration ve E2E testlerini içeren %80+ kapsam ile test güdümlü geliştirmeyi zorlar.
origin
ECC
Test Güdümlü Geliştirme İş Akışı
Bu skill tüm kod geliştirmenin kapsamlı test kapsamı ile TDD ilkelerini takip etmesini sağlar.
Ne Zaman Aktifleştirmelisiniz
Yeni özellikler veya fonksiyonellik yazarken
Hataları veya sorunları düzeltirken
Mevcut kodu refactor ederken
API endpoint'leri eklerken
Yeni bileşenler oluştururken
Temel İlkeler
1. Koddan ÖNCE Testler
HER ZAMAN önce testleri yazın, sonra testleri geçmesi için kod uygulayın.
2. Kapsam Gereksinimleri
Minimum %80 kapsam (unit + integration + E2E)
Tüm uç durumlar kapsanmış
Hata senaryoları test edilmiş
Sınır koşulları doğrulanmış
3. Test Tipleri
Unit Testler
Bireysel fonksiyonlar ve yardımcı araçlar
Bileşen mantığı
Pure fonksiyonlar
Yardımcılar ve utilities
Integration Testler
API endpoint'leri
Veritabanı operasyonları
Service etkileşimleri
Harici API çağrıları
E2E Testler (Playwright)
Kritik kullanıcı akışları
Tam iş akışları
Tarayıcı otomasyonu
UI etkileşimleri
TDD İş Akışı Adımları
Adım 1: Kullanıcı Hikayeleri Yazın
[Rol] olarak, [eylem] yapmak istiyorum, böylece [fayda] elde ederim
Örnek:
Kullanıcı olarak, marketleri semantik olarak aramak istiyorum,
böylece tam anahtar kelimeler olmasa bile ilgili marketleri bulabilirim.
Adım 2: Test Senaryoları Oluşturun
Her kullanıcı hikayesi için kapsamlı test senaryoları oluşturun:
describe('Semantik Arama', () => {
it('sorgu için ilgili marketleri döndürür', async () => {
// Test implementasyonu
})
it('boş sorguyu zarif şekilde işler', async () => {
// Uç durumu test et
})
it('Redis kullanılamazsa substring aramaya geri döner', async () => {
// Fallback davranışını test et
})
it('sonuçları benzerlik skoruna göre sıralar', async () => {
// Sıralama mantığını test et
})
})
Adım 3: Testleri Çalıştırın (Başarısız Olmalı)
npm test# Testler başarısız olmalı - henüz implement etmedik
Adım 4: Kod Uygulayın
Testleri geçmesi için minimal kod yazın:
// Testler tarafından yönlendirilen implementasyonexportasyncfunctionsearchMarkets(query: string) {
// Implementasyon buraya
}
Adım 5: Testleri Tekrar Çalıştırın
npm test# Testler artık geçmeli
Adım 6: Refactor Edin
Testleri yeşil tutarken kod kalitesini iyileştirin:
Tekrarı kaldırın
İsimlendirmeyi iyileştirin
Performansı optimize edin
Okunabilirliği artırın
Adım 7: Kapsamı Doğrulayın
npm run test:coverage
# %80+ kapsam sağlandığını doğrula