aracılığıyla phpunit testlerini çalıştırırken $ _SERVER [''] değişkenleri nasıl ayarlanacağım Birçok kod değişikliğinin mümkün olmadığı bir uygulama için birim testleri yazmaya çalışıyorum. Ben bir şekilde bu değişkenleri belirlemek zorunda PHPUnit test durumları yazmak ve çalıştırmak zorunda Neredeyse kod tabanında tüm .php dosyaları Şimdi Jenkins
require_once $_SERVER['DOCUMENT_ROOT'] . '/mainApi.php';
gibi bazı $ _SERVER [ ''] değişkenleri kullanır. Şu anda Ben kullanıcı ortamında bu değişkenleri ayarlayarak ve daha sonra bu gibi sunucu değişkenleri iyi çalışıyor alınıyor
$_SERVER['DOCUMENT_ROOT'] = getenv('DOCUMENT_ROOT');
require_once $_SERVER['DOCUMENT_ROOT'] . '/mainApi.php';
yapıyorum. Testlerimi komut satırı aracılığıyla $ phpunit test.php
olarak çalıştırıyorum.
Ques1: $ _SERVER değişkenlerini phpunit testlerini komut satırından çalıştırırken ayarlamak mümkün müdür?
Ayrıca bu birim testlerini Jenkins üzerinden çalıştırmam gerekiyor ve bu sunucu değişkenini ANT/build dosyası üzerinden ayarlayamıyorum.
Ques2: Bu değişkeni Jenkins'de ant derleme dosyası üzerinden veya phpunit testlerini Jenkins üzerinden yürütmeden önce herhangi bir kabuk betiğini çalıştırarak ayarlamak mümkün müdür?
Ben Jenkins yılında build.xml<export name="setEnv" description="set server var">
<exec executable="sh">
<arg value = "sumit.sh" />
</exec>
</target>
ama onun çalışmıyor o senaryoyu bir kabuk
export DOCUMENT_ROOT=/server/path-to-root-dir
aracılığıyla sunucu değişkeni ihracat ve aramaya çalıştı. Bunun için yapabileceğim bir ayar var mı? Teşekkürler!
biz ayarlayabilirsiniz '$ _SERVER [ 'DOCUMENT_ROOT']' doğrudan yapı dosyası üzerinden: Burada
ben tipik bir proje yapısı nasıl?Sizin yönteminiz 'gayet iyi çalışıyor fakat kodumda çok fazla SUNUCU değişkenine sahibim: '$ _SERVER [] = getenv() Bir php dosyasında ve bu dosyayı tüm test sınıflarında içe aktarmak zorunda kalacaksınız. Onu azaltabilmemizin bir yolu var mı? –
Sumitk
@Sumitk - PHPUnit'in herhangi bir test yapmadan önce otomatik olarak yüklediği 'bootstrap.php' adlı ödevleri atayabilirsiniz. Ya dosyayı dizininize testlerinizin kök dizinine yerleştirin ya da PHPUnit'i '--bootstrap' komut satırı argümanı ile işaretleyin. –
Bu 'bootstrap.php', test dosyalarıyla birlikte oluşturduğumuz bir dosya mı yoksa PHPUnit ile mi geliyor? Coz, sistemimde göremiyorum. Ayrıca eğer onu yaratırsak, nereye yerleştirmeliyim? tüm test dosyalarıyla veya phpunit.xml.dist ile mi? – Sumitk