Uyumluluk: Pactmark 0.2.x.
@pactmark/testing bir geliştirme bağımlılığıdır ve asla üretim
dışa aktarımının parçası değildir.Test paketinin verdikleri
FakeClock
Deterministik zaman; böylece son kullanma ve zaman aşımı testleri kararsız olmaz.
SequenceIdGenerator
Öngörülebilir kimlikler; böylece snapshot’lar kararlı olur.
FakeModelDriver
Senaryolanmış turlar — araç çağrıları, finaller, hatalar — sağlayıcı anahtarı olmadan.
FakeTool / FakeToolExecutor
Nasıl çağrıldığını — çağrılmadığını da — kaydeden araçlar.
CrashInjector
crashAtEveryBoundary, çökme güvenliğini bir umut değil sayılabilir bir matris hâline getirir.ScenarioBuilder
Deterministik bir senaryoyu bir kez kurup paketler arasında yeniden kullanın.
Depo sözleşme paketleri
Aynı sözleşme testlerini bellek ve Postgres uygulamalarına karşı çalıştırın.
Sözleşme fixture'ları
Adaptör testleri için kararlı iş emirleri, olaylar, artifact’lar ve korumalı değerler.
Kapsam listesi
Yeşil bir mutlu-yol testi size çok az şey söyler. Önemli olan senaryolar şunlardır:Başarı ve artifact üretimi
Başarı ve artifact üretimi
Koşu tamamlanır, artifact beklenen özette vardır, gereken doğrulayıcılar geçmiştir ve kanıt kaydı
doğrulamadan geçer.
Hatalı biçimli girdi
Hatalı biçimli girdi
Şemasını geçemeyen dış girdi
KAF_SCHEMA_INVALID üretir ve hiçbir model çağrısı yapılmaz.Politika reddi
Politika reddi
Reddedilmiş bir risk sınıfı ve eksik bir grant geri çevirir — ve araç yürütücüsü sıfır çağrı
kaydeder.
Grant ve onay tekrarı
Grant ve onay tekrarı
Aynı komut tekrarlandığında aynı semantik sonuç döner. Tek kullanımlık bir kanıt iki kez
harcanamaz.
İptal
İptal
Koşu ortasında iptal, aracın
AbortSignal’ına ulaşır ve koşu takılmak yerine cancelled durumuna
gelir.Bütçe tükenmesi
Bütçe tükenmesi
Turlar, araç çağrıları ve aktif yürütme milisaniyeleri her biri kendi sınırında koşuyu sonlandırır.
Eşzamanlı komutlar
Eşzamanlı komutlar
Aynı koşuda yarışan iki komut: biri kazanır, diğeri iç içe geçmek yerine çakışır.
Kira kaybı
Kira kaybı
Kirasını kaybeden bir worker commit edemez. Bir log satırına değil fencing token’a bakarak
doğrulayın.
Çökme sınırları
Çökme sınırları
Her sınırda bir çökme enjekte edin ve koşunun devam ettirilebilir olduğunu ve hiçbir etkinin
tekrarlanmadığını doğrulayın.
Belirsiz etkiler
Belirsiz etkiler
Belirsiz bir sonuç park eder. Hata fırlatılmadığını değil, dış hedefin bir kez çağrıldığını
doğrulayın.
Kayıt sapması
Kayıt sapması
Bir araç şemasını sürümünü değiştirmeden değiştirin; koşunun devam etmek yerine askıya alındığını
doğrulayın.
Tenant'lar arası erişim
Tenant'lar arası erişim
Her depolama metodunu başka bir tenant’ın yetkisiyle deneyin. Reddi ve bilgi vermemeyi doğrulayın.
Hataları değil etkileri doğrulayın
Bu sayfadaki en değerli alışkanlık budur:Çökme matrisleri
Çalışma alanını değil yayımlanan baytları test edin
Yalnızca workspace bağlantıları paket meta verisini, dışa aktarımları, tip beyanlarını veya başlatıcı deneyimini kanıtlayamaz. Bağımsız fixture’larda paketlenmiş tarball’ları tüketin:Depo tam olarak bu nedenle bağımsız NodeNext, Bundler, Yarn, Bun ve loopback-registry fixture’ları
çalıştırır. “Monorepo’da çalışıyor” ile “kurulduğunda çalışıyor” farklı iddialardır.
Paketleri çalıştırma
Örnekler
Her örnek burada anlatılan senaryo testleriyle gelir.
Tehdit modeli
Her yüksek ve kritik satır, onu destekleyen çalıştırılabilir kanıtı adlandırır.