Bir kuralı derleyiciye yazdırmak: 2347 testin göremediği mutasyon

Hangi kural tip sistemine taşınabilir, hangisi yalnız testle tutulur.

Yedi üyeli bir birlik tipi ve o üyelerin her birine cevap veren iki yüklem vardı. Birliğe sekizinci bir üye eklendiğinde tsc --noEmit sıfırla çıkıyor ve 2347 testin 2347'si yeşil kalıyordu, çünkü iki test de bilinen yedi üyeyi tek tek iddia ediyordu ve sekizinci hiçbir iddiayı düşürmüyordu. Beklenen değerler Record<Overlay, boolean> olarak tutulmaya başlandığında aynı mutasyon derlemeyi 2 çıkış koduyla ve tam iki TS2741 hatasıyla, her test dosyasında birer tane, düşürüyor. Kırmızının nerede çıktığı önemli: vitest o iki dosyayı hâlâ yeşil koşuyor, kapı typecheck adımı. Sınırı da açık yazılmalı, çünkü harita her üyenin cevaplandığını söyler, cevabın doğru olduğunu söylemez.

Yalnız testin tutabildiği kurallar

Bazı kurallar ise yalnız testin tutabildiği kurallar. Saf bir yerleşim modülünün sıfır import taşıması gerekiyordu; ona tek bir import type satırı eklemek derlemeyi sıfırda bıraktı ve 2473 testin tam birini kırmızıya çevirdi, o da tam bu kural için yazılmış yapısal kapıydı, yani 2472 iddia bunu göremedi. Bir persist kaydını daraltmak ikisinin arasında duruyor: partialize alanını daraltmak tek başına yetmiyordu, çünkü kusur ziyaretçinin diskinde zaten yazılı olan baytlardaydı. Üç bağımsız mutasyonun üçü de farklı bir iddiayı düşürdü; sürümü 2'den 1'e almak pencereleri geri getiriyor, migrate işlevini silmek zustand'ın kaydı tamamen atmasına yol açıyor, saklanan kaydı olduğu gibi yayan bir migrate yine pencereleri geri getiriyor. Yan kazanç bir güvenlik turunda çıktı: eski kayıt pencere hedeflerini de taşıyordu, yani ziyaretçinin hangi proje ve yazı adreslerini açtığı diskte duruyordu, bugün orada yalnız iki tam sayı var.

Etiketler

  • TypeScript
  • Testing
Bir kuralı derleyiciye yazdırmak: 2347 testin göremediği mutasyon · Deniz Barış Yıldırım, Portfolyo OS