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.
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.