Testleri çalıştırma
Birim testleri
Birim testleri__tests__/ dizininde bulunur ve jsdom ile birlikte Vitest kullanır.
Politika birim testi yazma
Uçtan uca testler
E2E testleri gerçekfailproofai ikili dosyasını alt işlem olarak çağırır, stdin’e JSON yükü aktarır ve stdout çıktısı ile çıkış kodunu doğrular. Bu, Claude Code tarafından kullanılan tam entegrasyon yolunu test eder.
Kurulum
E2E testleri, ikili dosyayı doğrudan repo kaynağından çalıştırır. İlk çalıştırmadan önce, özel kanca dosyalarının'failproofai'’den içe aktarırken kullandığı CJS paketini oluşturun:
src/hooks/custom-hooks-registry.ts, src/hooks/policy-helpers.ts veya src/hooks/policy-types.ts) dist/ dizinini yeniden derleyin.
E2E test yapısı
E2E yardımcılarını kullanma
FixtureEnv - test başına izole ortam:
createFixtureEnv() afterEach temizliğini otomatik olarak kaydeder.
runHook - ikili dosyayı çağır:
Payloads - hazır yükü üreten fabrikalar:
E2E test yazma
E2E yanıt şekilleri
Vitest config
E2E testlerivitest.config.e2e.mts dosyasını şu ayarlarla kullanır:
environment: "node"- tarayıcı küresellerine gerek yokpool: "forks"- gerçek işlem izolasyonu (testler alt işlemleri başlatır)testTimeout: 20_000- test başına 20sn (ikili başlatma + kanca değerlendirmesi)
forks havuzu önemlidir: thread tabanlı çalışanlar globalThis paylaşır ve bu alt işlemleri başlatan testlerde müdahale edebilir. İşlem tabanlı fork’lar bunu önler.
CI
Birleştirmeden önce tam CI çalıştırması (bun run lint && bunx tsc --noEmit && bun run test:run && bun run build) geçmesi gerekir. E2E paketi paralel olarak ayrı bir CI işi olarak çalışır.
Tam ön birleştirme kontrol listesi için Katkıda Bulunma bölümüne bakınız.
