PHPUnit yapılandırma (phpunit.xml) -

0 Cevap php

Situation

Projemizde phpunit kullanıyorsanız ve backupGlobals kapatılır gibi şeyleri sağlamak için phpunit.xml kullanıyorsunuz.

Ayrıca yol ayarlamak ve autoloading aktif olduğunu eklemek emin olmak için, biz de test kayışları basamakla. Demek ki, her testi ve alltests-suite sahip bir require_once(__DIR__ . '/../bootstrap.php'); üstünde, tüm yolu açıkça require_once(__DIR__ . '/bootstrap.php'); okur baz klasör seviyesinde, ve gerçek bootstrap kadar dosya bulunur.

Esasen, bizim testler özerktir. Siz herhangi bir klasöre herhangi bir AllTests.php aramak ve herhangi bir *Test.php kendisi tarafından ve doğru yapılandırma ile kaçıyorum edebilirsiniz.

Hayır hariç. 'Wait a moment.

Bu sadece doğru biz ya phpunit --configuration=path/to/phpunit.xml kullanmak bizim geliştiriciler zorlamak veya çalıştırıldığında onlar phpunit.xml (PHPUnit geçerli çalışma dizininin dışına çeker, böylece ile klasörde iseniz .)

Bazen, bu bir geliştiricinin makinede testleri kıran ve neden başka çalışan konum neden inanılmaz zor belirlemek için yapar. Sadece önyükleme biz aynı test ortamı olması gerekir not tek şey olduğunu unutmadan alır. Unutmayın ki size {ile klasörde iseniz o [(1)] (diğer ayarları olduğu gibi özellikle genellikle-isteğe bağlı olanları unutmadan, testlerde kendilerini, çünkü denedim eğer ön yükleme unutamadım beri }, otomatik) çekmiş, kolaydır.

Aslında - bu bir kaç kez oldu.

Question

Is there a way I can supply which phpunit.xml test dosyası olmak vadede kullanmak için such as in our conveniently ubiquitous bootstrap file, rather than supplying it to PHPUnit beforehand, olması komut satırı anahtarı veya dizin olmak ? tarafından

Koduna üstünkörü bir bakış cevap hayır anlaşılacağı - yapılandırma iyi ve gerçekten test dosyalarını bile çekti önce yüklenmiş gibi görünüyor:

[PHPUnit/TextUI/Command.php]
...
if (isset($this->arguments['configuration'])) {
    $configuration = PHPUnit_Util_Configuration::getInstance(
        $this->arguments['configuration']
    );
    $phpunit = $configuration->getPHPUnitConfiguration();
    ...

Bu konfigürasyon testi beyaz veya kara listeye içerebilir verilen, bazı mantıklı.

Gerçekten, o ile pencereden dışarı yarısı potansiyel yapılandırma böylece, kendisi önyükleme testi testi filters yüklemek mantıklı, ama PHPUnit gerçek davranışsal bayraklar olmaz ...

[sample of part of our phpunit.xml]
<phpunit
    backupGlobals="false" 
    backupStaticAttributes="false" 
    convertErrorsToExceptions="true"  
    convertNoticesToExceptions="true"
    convertWarningsToExceptions="true"
    syntaxCheck="false"
    processIsolation="false"
    colors="true">

Belki de ... 'renk' dışında test kendisini bazı düzeyde karar mümkün olması gereken bir şey gibi geliyor bana.

Consolation prize for...

Birisi bir yol bilen varsa ben, önyükleme dosyasından phpunit backupGlobals="false" öğretmek eğer Kuşkusuz, şu anda sadece bilerek mutlu olurdum.

(If fruitless, the practical answer I'll pursue will probably be to copy the phpunit.xml tüm alt klasörler içine. Ben gereksiz kopyalarını oluşturur beri bu çözümü engellemek istiyorum, ve biz hiç bir ayarı değiştirmek isterseniz ... Ah, evet!) istiyorum

0 Cevap