Nasıl Hazırlarız # PHPT Test Dosyası Hakkında Bilgiler # Yeni Bir PHPT Dosyası Nasıl Oluşturulur # Testleri Nasıl Çalıştırırız # Neler İçin Test Gerekli # Her şey tamam, testi yazdım, ne yapmalıyım?
2010 da düzenlenmiş bir etkinlik. 105.000 commit 500 geliştirici. Amaç PHP metod ve sınıflarına test senaryoları oluşturup, PHP’nin gelişim macarasına denge getirmek. PHP Code Coverage’ı %100 görmek! Ödül Var! Test Yaz Luke! Yine production yalan! Olmüyür böyle!
üzerinden php/php-src kopyalayıp başlıyoruz. Daha sonra klasik compiler süreci devreye giriyor. ./buildconf ile configure scriptini oluşturuyoruz. ./configure --help komutu ile kullanabileceğiniz derleme seçeneklerinin listesi görebilirsiniz. Kullanmak istediğiniz modülleri dahil etmeniz gerekiyor, minumum kurulumu enable-cli parametresi ile yapabilirsiniz. ./configure --enable-maintainer-zts --enable-debug --enable-cli Örneğin cURL desteği için --with-curl ekleyebilirsiniz.
oluşturmak ve bunları farklı PHP versiyonlarında çalıştırmanızı sağlayan bir Docker wrapper’ı. Derleme sürecini Docker imajlarına bırakıyor istediğiniz versiyonu sizin için otomatik olarak kullanılabilir hale getiriyor. # Sizin için test dosyasını oluşturabilir. phpqa generate -f ucfirst -b # Son stabil versiyonda test edebilirsiniz phpqa run phpt/examples/closure_061.phpt # İstediğiniz versiyonu belirtebilirsiniz phpqa run phpt/examples/closure_061.phpt 56 # Ya da tüm versiyonlarda çalıştırabilir. phpqa run phpt/examples/closure_061.phpt all +
metin dosyanızı açarak oluşturabilirsiniz. PHP Extensionları ile ilgili olan testler ext/ dizininde genel testler ise tests/ dizininde yer alıyor. --TEST-- --FILE-- --EXPECT-- --CREDITS-- bölümlerini oluşturun. TEST : Dosyanın yaptığı iş hakkında özet bilgi. FILE : Dosyanın test edeceği PHP kodunun bulunduğu bölüm. EXPECT : FILE bölümünün çalıştığında oluşturması gereken çıktı. CREDITS : Kendi bilgilerinizi paylaşacağınız bölüm. Ad Soyad <[email protected]> formatında ve etkinlik boyunca oluşturduğunuz dosyalara #phptestfest2017 #istanbulphp taglerini ekleyerek yazabilirsiniz.
kodunun kök dizininde bulunan bir PHP script. Dizin ya da dosya olarak testleri çalıştırmanızı sağlıyor. sapi/cli/php run-tests.php -P tests/basic/001.phpt # phpqa Bahsettiğimiz güzel tool, istediğiniz sürümde hemen testlerinizi yapıyor. phpqa run dizin/test-dosyaniz.phpt
üzerinden güncel durumu takip edip, testleri eksik olan eklentileri bulabilirsiniz. Güncel olarak %75'i tamamlanmış http://gcov.php.net Başarısız durumdaki testleri kontrol edip, hatalı ise düzeltebilirsiniz.
git commit '<3' phpcommunity/phptestfest-php-src reposuna PHP TestFest 2017 - Istanbul PHP UG - { TEST Bölümü içeriği } formatında commit olarak gönderiyoruz.