Şu anda bir uygulamada birim testi yapmak için PHPUnit ile birlikte Zend Framework kullanıyorum. Hudson, PHPUnit kabuk komutunu çalıştırdığında, kod kapsama oluşturma sırasında bir kerede maksimum PHP bellek limitine ulaşılır. Şu anda 334 iddia ile toplam 41 test var.PHPBu kapsama alanı oluşturma bellek tükenmesine neden oluyor
-d memory_limit=768M
anahtarını kullanarak 768M'ye memory_limit ayarını yükselterek bu hatayı başarıyla giderdim; Ancak, karmaşıklık arttıkça, toplam test/iddia sayısı arttıkça, kod kapsamı istatistikleri için HTML üretecek kadar belleğim olmadığından endişeleniyorum.
OS: CentOs 5.5
Kontrol Paneli: WHM/cPanel
CI Sunucusu: Hudson benim değişiklikleri yapılıyor ve Hudson gerisini izin Önce
/usr/local/bin/phpunit
--verbose
-d memory_limit=512M
--log-junit ../../build/logs/phpunit.xml
--coverage-clover ../../build/logs/coverage/clover.xml
--coverage-html ../../build/logs/coverage-html/
Fatal error: Allowed memory size of 536870912 bytes exhausted
, ben geliştirme için Windows 7'yi kullanın. W7'de aynı komut çalıştırılırken bellek kullanımı 340MB'ı aşmadı.
Tüm test durumlarınız bir sınıfta mı? – allnightgrocery
Hayır, testler dört farklı dosya arasında bölünmüştür. Bu testler nispeten basittir, özellikle. planladığımızla karşılaştırıldı. –
:) Çözümünüzü gönderdiğiniz için teşekkür ederiz. Listelediğin problemi yaşadım ve gerçekten hackledim. Her seferinde bir şey ortaya çıkacaktı (bellek 1999'da /pear/phpunit/framework/whatever.php dosyasında bitkin tükendi) 'sudo vi /.../ whatever.php' yazıp' set_ini ("memory_limit") satırına eklerdim ", "1000M") '. Muhtemelen en iyi uygulama değil;) –