Frage

Ich verwende derzeit Zend Framework in Verbindung mit Phpunit, um Unit -Tests für eine Anwendung durchzuführen. Wenn Hudson den Befehl phpunit Shell ausführt, wird die maximale PHP -Speichergrenze irgendwann während der Codeabdeckungsgenerierung erreicht. Ich habe derzeit insgesamt 41 Tests mit 334 Behauptungen.

Ich habe diesen Fehler erfolgreich beseitigt, indem ich die Einstellung von memory_limit auf 768m mithilfe des -d memory_limit=768M Schalter; Ich bin jedoch besorgt, dass ich mit zunehmender Komplexität zusammen mit der Gesamtzahl der Tests/Behauptungen nicht genügend Speicher habe, um die HTML für Codeabdeckungsstatistiken zu generieren.

OS: CentOS 5.5
Schalttafel: WHM/CPANEL
CI -Server: Hudson

/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/  

Fataler Fehler: Ermöglichte Speichergröße von 536870912 Bytes erschöpft

Bevor ich meine Änderungen begangen habe und Hudson den Rest bewältigen lasse, verwende ich Windows 7 für die Entwicklung. Die Speicherverwendung überschritt nie 340 MB, während der gleiche Befehl innerhalb von W7 ausgeführt wurde.

War es hilfreich?

Lösung

Durch die Reduzierung der Anzahl der in der Codeabdeckung enthaltenen Dateien sowie die Erhöhung der Gesamtspeicherlimit in PHP konnte ich diesen Fehler im Grunde genommen abtöten. Das gesamte Zend -Framework wurde in die Code -Abdeckung aufgenommen, die sehr groß ist.

Andere Tipps

Haben Sie XDEBUG -Profilerstellung aktiviert, wenn dies zu deaktivieren ist. Ich habe dieses Problem schon einmal erlebt, und es kam auf Erweiterungen in PHP (insbesondere XDEBUG -Profiling und/oder integrierte Heichie -Betrachterin) an.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top