Diese Frage ist ziemlich veraltet, aber da es immer noch Verkehr und Antworten gibt, sage ich hier noch einmal meinen Standpunkt, obwohl ich es bereits bei einigen anderen (neueren) Fragen getan habe.
Ich bin wirklich sehr verblüfft, dass SimpleTest immer noch als Alternative zu phpunit angesehen wird. Vielleicht bin ich nur falsch informiert, aber soweit ich gesehen habe:
- PHPUnit ist der Standard; Die meisten Frameworks verwenden es (wie Zend Framework (1 & 2), Cake, Agavi, sogar Symfony lässt ihr eigenes Framework in Symfony 2 für phpunit fallen).
- PHPUnit ist in jede PHP-IDE (Eclipse, Netbeans, Zend Stuide, PHPStorm) integriert und funktioniert gut.
- Simpletest hat eine Eclipse-Erweiterung für PHP 5.1 (auch bekannt als alt) und sonst nichts.
- PHPUnit funktioniert problemlos mit jedem Server für die kontinuierliche Integration, da alle Standardprotokolldateien für die Codeabdeckung und Testberichte ausgegeben werden.
- Simpletest nicht. Dies ist zwar zunächst kein großes Problem, aber es wird Sie beißen, wenn Sie aufhören, "nur zu testen" und mit der Entwicklung von Software beginnen (Ja, diese Aussage ist provokativ :) Nehmen Sie es nicht zu ernst).
- PHPUnit wird aktiv gewartet, ist stabil und funktioniert hervorragend für jede Codebasis, jedes Szenario und jede Art und Weise, wie Sie Ihre Tests schreiben möchten.
- (Subjektiv) PHPUnit bietet viel schönere Berichte zur Codeabdeckung als Simpletest
- Mit PHPUnit erhalten Sie diese Berichte auch in Ihrer IDE ( Netbeans , Eclipse, ...)
- Auch gibt es ein paar Vorschläge für eine
web interface to phpunit tests
.
Ich habe noch kein Argument für SimpleTest gesehen. Die Installation ist nicht einmal einfacher, da PHPUnit über pear erhältlich ist:
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit
und der "erste Test" sieht ziemlich gleich aus.
Ab PHPUnit 3.7
es ist noch einfacher zu installieren es nur durch die Verwendung vonPHAR Archive
wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar
oder für Windows einfach das Phar herunterladen und ausführen:
php phpunit-.phar
oder wenn Sie den unterstützten Composer verwenden, installieren Sie Möglichkeiten wie
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
an Ihren composer.json.
Für alles, was Sie testen möchten, wird PHPUnit eine Lösung haben und Sie werden praktisch überall Hilfe finden können (SO, #phpunit irc channel auf freenode, so ziemlich jeder PHP-Entwickler;))
Bitte korrigieren Sie mich, wenn ich etwas falsch angegeben oder etwas vergessen habe :)
Übersicht über PHP-Testtools
Video: http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/
Folien: http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011
Es erwähnt Dinge wie Atoum, die sich selbst nennen: "Ein einfaches, modernes und intuitives Unit-Testing-Framework für PHP!"
Vollständige Offenlegung
Ich habe diese Antwort ursprünglich im Januar 2011 geschrieben, als ich mit keinem PHP-Testprojekt verbunden war. Seitdem habe ich einen Beitrag zu PHPUnit geleistet.