KKUT Docs

Otomatik Test Altyapısı

KUT birim ve bütünleşim testlerini üretim verisinden yalıtılmış PHPUnit çalışma alanında çalıştırın.

KUT test omurgası phpunit.xml.dist, Tests/bootstrap.php ve Tests/Unit / Tests/Integration süitlerinden oluşur. Bootstrap her koşuda işletim sisteminin geçici dizininde rastgele bir veri kökü üretir ve CONTAINER_DATA_DIR değerini bu köke sabitler. Varsayılan süitler canlı Storage/Data dosyalarını veya proje veritabanını kullanmaz.

Çalıştırma

php buyruk test:run
php buyruk test:run --testsuite=unit
php buyruk test:run --filter=PreparedBindingsTest
composer test

test:run PHPUnit'i kabuk yorumlaması olmadan bir argüman dizisiyle başlatır. Yalnız testsuite, group ve filter seçenekleri, sınırlı karakter sözleşmesiyle iletilir; serbest komut veya kabuk parçası kabul edilmez.

Test türleri

  • Unit: ağ, gerçek veritabanı ve kalıcı proje verisi olmadan tek bir sözleşmeyi sınar.
  • Integration: birden fazla KUT katmanını birlikte sınar; varsayılan veritabanı testi yalnız SQLite :memory: kullanır. SQLite3 uzantısı yoksa test başarısız sayılmaz, açıkça atlanır.

Yeni test yazma

PHPUnit 8.5 ile uyumlu *Test.php dosyasını doğru süit dizinine ekleyin. Dış servis, gerçek ödeme, e-posta, DNS veya üretim veritabanı gerektiren testleri varsayılan süite eklemeyin. Böyle bir kabul testi ayrı grup, test kimlik bilgileri ve açık ortam değişkeni olmadan çalışmamalıdır.

Yalıtım zorunludur. Test içinde proje ayar dosyalarını değiştirmeyin, gerçek sağlayıcıya istek göndermeyin ve temizleme hedefini KUT_TEST_ROOT dışına taşımayın.

Hazır kapsam

İlk paket, positional/named/repeated prepared binding dönüşümünü, DataStore atomik round-trip ve path sınırını, SQLite bellek içi prepared sorguda saldırı-benzeri metnin veri olarak korunmasını doğrular.

KUT Framework 1.0Katmanlı Uygulama Tabanı

Kur. Uyarla. Türet.