Nasıl kurabilirsiniz PHP + xdebug + (x) Birim + Eclipse ünite testleri kesme noktaları ile çalışmak?

2 Cevap php

Bu doğru işe almak için oldukça uzun bir süre için ama hayır şans çalıştık. Temelde, ben PHP Geliştirme Araçları (PDT) ve PDT XDebug eklentisi yanı sıra SimpleTest eclipse eklentisi ile Eclipse (3.3) var.

Ne yapmak istiyorum SimpleTest birim testleri tarafından çağrılan hata ayıklama kodudur. Ben kod kapsama raporlar üretebilirsiniz çünkü SimpleTest açıkça XDebug görebilirsiniz, ama sadece kırılma noktaları üzerinde durmayacağım.

Edit: O XDebug eklemeliyim ve SimpleTest tarafından çağrıldığında kesme noktaları sadece tutulma cezası da çalışmak

Herkes başarıyla bu kurmuştur? Yararlı bilgiler şekilde etrafında ve küçük saçmalık dokümanlar bir sürü var.

Teşekkürler!

2 Cevap

Emin PHP sürümü için doğru XDebug sürümüne sahip olun ve php.ini dosyasının başında bu ekleyin:

[xdebug]
zend_extension=full_path_to_your_xdebug.so 
xdebug.default_enable=On
xdebug.remote_enable=On
xdebug.remote_handler="dbgp"
xdebug.remote_host="localhost"
xdebug.remote_port=9000

Sonra bir apachectl graceful ve phpinfo yapmak ve emin olun XDebug mevcut ve aktiftir. Bu ise, her şey iyi çalışması gerekir. Benim için biliyorum.

edit: Ben bütün soruyu okumadan önce yanıtladı.

komut dosyasını çalıştırmadan önce ortam değişkeni ayarlamak gerekir;

export XDEBUG_CONFIG="idekey=session_name"

Bu php bu yapmak mümkün olabilir ama ben bu test edemez:

putenv('XDEBUG_CONFIG="idekey=session_name"');

Eğer kullandığınız php ikili, yüklenen XDebug uzantısı benim sistemde apache modül o var, ancak varsayılan CLI tercüman değil, ama amaç farklı sürümlerini çalıştırmak emin olmalısınız.

Bazı good documentation burada var

Eğer aynı Server üzerinde üretim ve geliştirme ortamları yönetmek varsa, bir php include ya da {[(1) bu ya senin xdebug ayarlarınızı havale için iyi bir fikirdir, Kris 'cevabı üzerine daha fazla gitmek ]} ki dev veya testing ortamlar için varız:

  • VirtualHosts için sözdizimi

    <virtualHost ....>
    
      (...)
    
      # Xdebug ENV
      php_flag xdebug.auto_trace on
      php_flag xdebug.idekey session_name
      php_flag xdebug.profiler_enable_trigger 1
      php_flag xdebug.(...)
    
      (...)