For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /tr/docs/web/testing.md (or send Accept: text/markdown).
Test stratejisi
Deterministik, tarayıcı, veritabanı ve sağlayıcı kontrollerinin neyi kanıtladığını anlayın.
Kurulum ve yapılandırma
Herhangi bir adımdan önce, Başlamadan önce ve Terminal temelleri bölümlerini okuyun. Bu talimatlar, supastack monorepo'nun tamamını VS Kodunda açtığınızı varsayar; kök package.json dosyası depo kökünü işaretler. pnpm komutlarında çalışma alanı paketi bir uygulama veya paylaşılan kod klasörüdür; Üründe çalışma alanı, ekibin veri taşıyıcısı ve güvenlik sınırıdır. corepack pnpm --filter ... komutlar kökünden çalıştırılırken monorepodan bir paket seçer. Yalnızca senkronize edilmiş bir mobil veya masaüstü klasörü açtıysanız, Web arka ucunu, Docker kurulumunu veya kök komut dosyalarını içermez: arka ucu bu monorepodan veya erişilebilir bir barındırılan sunucudan çalıştırın ve platform klasörünün kendi komut dosyalarını kullanın. Ortam değişkeni, yerel bir .env dosyasında veya barındırma kontrol panelinizde depolanan adlandırılmış bir ayardır; İlgili uygulamayı değiştirdikten sonra yeniden başlatın ve sunucu sırlarını NEXT_PUBLIC_ ve EXPO_PUBLIC_ değerlerinin dışında tutun.
1. Kontrol komutlarını görmek için repository-root package.json dosyasını açın.
2. Bu kök klasörden, otomatik birim testleri için corepack pnpm testini çalıştırın, ardından Web TypeScript kontrolleri için corepack pnpm --filter @supastack/web typecheck'i çalıştırın.
3. Tarayıcı davranışı için Web uygulamasını başlatın ve corepack pnpm test:e2e'yi çalıştırın. Beklenen: her komut kendi sonucunu bildirir; Birim testi gerçek bir veritabanının, ödeme sağlayıcısının, e-posta hizmetinin veya telefonun çalıştığını kanıtlamaz.
Varsayılan test paketi deterministik sahte/yerel bağdaştırıcılar kullanır. Tarayıcı testleri kullanıcı etkileşimlerini kapsar; veritabanı kabulü ve harici sağlayıcı smoke'u ayrı kapılardır. Kapsamı genişletmeden önce değişen davranışla ilgili kontrolleri çalıştırın.
corepack pnpm test
corepack pnpm check
corepack pnpm build
corepack pnpm test:e2e
corepack pnpm test:e2e:productionKopyalanacak komutlar
Bir komutun hangi klasörde çalıştığını görmek için yorumları takip edin. İki terminal etiketlenmişse, iki terminal penceresi açın ve ikincisini kullanırken ilk komutu çalışır durumda tutun.
corepack pnpm test
corepack pnpm --filter @supastack/web typecheck
corepack pnpm test:e2eUygulama iş akışı
Davranış değişiklikleri için önce başarısız bir kabul testi yazın. Başarılı erişimi, reddedilen anonim ve çalışma alanları arası isteklerle eşleştirin. Form ve görev akışları için mutlu yolun yanında yükleme, hata ve kurtarma davranışını da doğrulayın.
Kesilen tarayıcı yanıtı, arayüzün o fikstüre yanıt verdiğini kanıtlar. Kimlik doğrulama kalıcılığını, ödeme işlemeyi, sağlayıcı teslimini ya da fiziksel cihaz geri çağrısını kanıtlamaz.
Doğrulama ve sorun giderme
Bir veritabanı testinin atlandığını söylüyorsa, veritabanı kapsamını bildirmeden önce yalıtılmış test veritabanını kurun. Bir Web sekmesi 3001 numaralı bağlantı noktasındaysa, bu ayrı bir apps/docs sunucusudur; kit Web uygulaması 3000 numaralı bağlantı noktasında başlar. Playwright ilk Windows çalıştırmasında başarısız olursa, tarayıcı kurulumunun bitmesine izin verin ve başarısız olan komutu yeniden çalıştırın; Bu soruna geçici bir çözüm bulmak için asla sistem genelindeki güvenliği kapatmayın.
Veritabanı kapılı test atlarsa, o kapının geçtiğini iddia etmeden önce yalıtılmış test veritabanını yapılandırın. Tarayıcı koşucu geçen assertion'lar yayınlıyor ama söndürmede takılıyorsa iki gerçeği de rapor edin; takılan süreç temiz başarılı komut değildir.
Windows'ta, Defender yeni yüklenen Playwright tarayıcılarını veya bağımlılıklarını tararken, ilk tarayıcı çalıştırması zaman aşımına uğrayabilir. Kurulumun bitmesini bekleyin, başarısız olan paketi corepack pnpm test:e2e veya corepack pnpm test:e2e:production ile yeniden çalıştırın ve tekrar başarısız olursa izini ve Defender Koruma Geçmişini inceleyin. Sistem çapında korumayı etkin bırakın.
Yerel tarayıcı paketi 3100 numaralı bağlantı noktasına sahiptir ve zaten orada dinleyen bir işlemi yeniden kullanmayı reddeder. Başka bir uygulama 3100'e sahipse PLAYWRIGHT_PORT'yi corepack pnpm test:e2e'den önce boş bir bağlantı noktasına ayarlayın; bu, testlerin sessizce başka bir projeyi hedeflemesini engeller.