2011-10-11 31 views
6

Özel php.ini phpunit'e nasıl geçilir?Özel php.ini dosyasını phpunit'e geçirme

kaynak

get_cfg_var 

yerine

ini_get 

yüzden ne yazık ki değerini geçmesine

tek yolu vb ini_set, -d seçeneği ile ayarlanan değerleri kullanmaz kullanan şimdi ek bir php.ini kullanmaktır. Bunu phpunit'e nasıl iletirim?

Kanlı ayrıntıları:

Ben Bu sadece "--- testi ---"

nedeni bu olarak ini_set kullanır yankıları -d

phpunit --filter testgetdesc -d SIEF_VALIDATOR_DOC_ROOT="htdocs" 
--configuration tests/phpunit.xml tests/configHelperTest.php 

public function testgetdesc() { 
    echo get_cfg_var("SIEF_VALIDATOR_DOC_ROOT")."---test---"; 
} 

ile geçen çalıştı iyi:

https://github.com/sebastianbergmann/phpunit/blob/master/PHPUnit/TextUI/Command.php

  case 'd': { 
       $ini = explode('=', $option[1]); 

       if (isset($ini[0])) { 
        if (isset($ini[1])) { 
         ini_set($ini[0], $ini[1]); 
        } else { 
         ini_set($ini[0], TRUE); 
        } 
       } 
      } 

Ayrıca phpunit.xml içinde, ben çalışmıyor [ve bunu beklemiyorum] hangi

<php> 
    <ini name="SIEF_VALIDATOR_DOC_ROOT" value="bar"/> 
</php> 

var. get_cfg_var olanlar okur çünkü

cevap

5

-d çalışması gerekir:

$ php -d display.errors2=1 -r "echo get_cfg_var('display.errors2');" 
1 

ayarı ini özel bir geçmek için (veya alternatif -c <file> ile ini dosyası PHPUnit için), bu yapılandırılmış çağırmak:

$ php -d setting=value `which phpunit` <your params> 

olarak görün iyi: php --help, http://www.phpunit.de/manual/3.6/en/appendixes.configuration.html

+0

Phpunit'in php'ye geçtiğini düşünmüyorum - lütfen yukarıdaki düzenleme konusuna bakın. – Fakrudeen

+0

Onaylandı, koddan çalışmayacak - https://github.com/sebastianbergmann/phpunit/blob/master/PHPUnit/TextUI/Command.php – Fakrudeen

+0

@Fakrudeen: Ben bir alternatif ekledim, phpunit'i çağırmak için sorun değil. yol. – hakre

0

Github issue-c bayrağını kullanmanızı önerir.

php -c custom-php.ini `which phpunit` ... 
İlgili konular