PHP-Mock, PHP'nin namespace fallback politikasını kullanarak time() gibi yerleşik PHP fonksiyonlarını testlerde mock'lamanıza olanak tanır. Bu sayede, testlerinizde zaman, rastgele sayı üretimi gibi öngörülemeyen fonksiyonları kontrol altına alabilirsiniz. Paket, ek bir eklenti gerektirmez ve PHP'nin standart namespace davranışından yararlanır.
Hangi ihtiyaçlarda değerlendirilebilir?
- PHPUnit veya benzeri test framework'leri kullanan PHP geliştiricileri
- Zaman bağımlı fonksiyonları (time, date, sleep vb.) test etmek isteyen ekipler
- Mevcut kod tabanında fonksiyonel testleri iyileştirmek isteyen yazılım projeleri
Yaygın kullanım alanları
Zaman Bağımlı Testler
time() veya date() gibi fonksiyonların belirli bir zamanda çağrıldığını simüle ederek, zamanlayıcı veya oturum süresi gibi senaryoları test edebilirsiniz.
Rastgelelik Kontrolü
rand() veya mt_rand() gibi rastgele değer üreten fonksiyonları sabit değerlerle değiştirerek, deterministik testler yazabilirsiniz.
Harici Servis Bağımlılıklarını İzole Etme
file_get_contents() veya curl gibi fonksiyonları mock'layarak, harici servis çağrılarını test ortamında simüle edebilir ve ağ bağımlılıklarını ortadan kaldırabilirsiniz.
İncelenmesi gereken noktalar
- PHP-Mock, PHP'nin namespace fallback politikasına dayanır; bu nedenle test edilen kodun namespace içinde olması ve fonksiyon çağrılarının tam nitelikli olmaması gerekir.
- Paket, yalnızca PHP 5.3 ve sonrası sürümlerde çalışır; eski sürümlerde kullanılamaz.
- Mock'lama işlemi, test ortamında yapılmalıdır; canlı ortamda kullanılmamalıdır.
WordPress.org
Kurulum ve geliştirme notları
PHP-Mock, Composer ile kurulabilir. Paket, PHP'nin namespace fallback politikasını kullandığından ek bir eklenti veya yapılandırma gerektirmez.
- 1Composer kullanarak paketi projenize ekleyin: composer require php-mock/php-mock
- 2Test dosyalarınızda PHP-Mock'u kullanmaya başlayın.
PHP-Mock, testlerinizde yerleşik PHP fonksiyonlarını mock'lamak için basit bir API sunar. Geliştirme sürecinde, test edilen kodun namespace yapısına dikkat edilmelidir.
- Namespace fallback politikası sayesinde ek eklenti gerektirmez.
- time(), rand(), file_get_contents() gibi birçok yerleşik fonksiyonu mock'layabilirsiniz.
- PHPUnit ile entegre çalışır.
Hazır çözümün ötesinde
Özel geliştirme ne zaman değerlendirilebilir?
PHP-Mock, belirli bir ihtiyaca göre özelleştirilebilir. Örneğin, kendi mock sınıflarınızı oluşturabilir veya mevcut davranışları genişletebilirsiniz. ZeplinGo olarak, projenizin test altyapısını analiz edip, PHP-Mock'un size uygun olup olmadığını birlikte değerlendirebiliriz.
Ücretsiz ön çalışma isteyin →Değerlendirme soruları
PHP-Mock hangi PHP sürümleriyle uyumludur?
PHP-Mock, PHP'nin namespace fallback politikasını kullandığı için PHP 5.3 ve sonrası sürümlerde çalışır.
PHP-Mock'u kullanmak için ek bir eklenti kurmam gerekiyor mu?
Hayır, PHP-Mock ek bir eklenti gerektirmez. PHP'nin namespace fallback politikası sayesinde çalışır.
PHP-Mock hangi fonksiyonları mock'layabilir?
PHP-Mock, time() gibi yerleşik PHP fonksiyonlarını mock'layabilir. Özellikle zaman, rastgele sayı üretimi ve dosya işlemleri gibi fonksiyonlar testlerde kontrol altına alınabilir.