Was Unit-Tests in PHP starten [duplizieren]

8

Ich bin neu in guten Praktiken in der Softwareentwicklung. Ich muss mit Hex Test Unit Framework wissen, sollte ich verwenden. Ich habe gesehen, dass einige Leute PHPUnit verwenden und andere SimpleTest verwenden. Welches Paket sollte ich für einen Anfänger wählen?

Beste Grüße,

    
André 07.01.2011, 09:29
quelle

5 Antworten

25

Ich bin wirklich wirklich 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 benutzen es (wie Zend Framework, Cake, Agavi, sogar Symfony lässt ihr eigenes Framework in Symfony 2 für phpunit fallen).
  • PHPUnit ist in jeder PHP-IDE (Eclipse, Netbeans, Zend Stuide, PHPStorm) integriert und funktioniert gut.
    • Simplestest hat eine Eclipse-Erweiterung für PHP 5.1 (a.k.a so alt, dass sie auf sourceforge läuft) und sonst nichts.
  • PHPUnit funktioniert mit jedem kontinuierlichen Integrationsserver, da es alle Standard-Protokolldateien für Code-Coverage und Testberichte ausgibt.
    • Simplestest nicht. Dies ist zwar kein großes Problem, aber es wird Ihnen große Probleme bereiten, 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 ist aktiv, stabil und funktioniert für jede Codebasis, jedes Szenario und jede Art, wie Sie Ihre Tests schreiben möchten.
    • SimpleTest ist nicht gepflegt, veraltet und funktioniert nicht gut mit PHP 5.3 (vor einem Jahr veröffentlicht)
  • (Subjektiv) PHPUnit bietet viel bessere Code-Coverage-Berichte als Simplestest
    • Mit PHPUnit erhalten Sie diese Berichte auch in Ihrer IDE ( Netbeans , Eclipse, ...)

Ich habe noch kein Argument für Simplestest gefunden. Es ist nicht einfacher zu installieren, da PHPUnit über birne verfügbar ist:

%Vor%

und der "erste Test" sieht ziemlich gleich aus.

Für alles, was Sie testen wollen, wird PHPUnit eine Lösung haben und Sie werden so ziemlich überall Hilfe finden können (SO, #phpunit irc channel auf freenode, so ziemlich jeder php-Entwickler;))

Bitte korrigieren Sie mich, wenn ich etwas falsch gemacht habe oder etwas vergessen habe:)

    
edorian 07.01.2011 13:27
quelle
5

Ich habe mit SimpleTest angefangen, weil die Lernkurve nicht so steil schien. Aber es ist nicht gepflegt und bringt viele Warnungen in PHP5.3, sowie nicht in der Lage, alles zu tun, was ich wollte. Ich musste schließlich zu PHPUnit wechseln, was einen langen Prozess zur Umwandlung meiner Tests bedeutete. Wenn ich nur mit PHPUnit angefangen hätte!

    
Nathan MacInnes 07.01.2011 09:39
quelle
2

SimpleTest ist etwas einfacher zu verstehen, aber PHPUnit ist meiner Meinung nach das Beste. Wenn Sie also anfangen wollen, ein Framework zu lernen und zu benutzen, fangen Sie mit dem an, das Sie verwenden werden, wenn Sie es sind ein Master in TDD. Schau nicht, ob es jetzt leichter oder schwerer ist, denn wenn du zum Beispiel mit SimpleTest beginnst, dann fängst du an, Zend Framework zu benutzen, weil dein Chef dir das sagt, du musst PHPUnit mit ZF benutzen. Denken Sie also an Ihre Zukunft, denn ein leicht zu erlernender Rahmen muss nicht unbedingt der beste sein, normalerweise ist es umso schwieriger, den Rahmen zu verstehen.

Sehen Sie sich auch ihre Revisionen an, um zu sehen, welche besser gewartet wird.

    
Poelinca Dorin 07.01.2011 09:38
quelle
0

Ich fand SimpleTest einfach zu starten und für meine Zwecke nutzbar. Keine großen Probleme als jetzt gefunden. Das Handbuch / die Website ist ein wenig verwirrend, aber mit einigen Beispielen-Suche ist es genug.

Fühlt sich nicht sehr professionell an, aber wenn Sie nach Anfänger-Framework fragen, versuchen Sie es auf jeden Fall:)

    
Nanne 07.01.2011 09:32
quelle
0

Hier ist eine gute Lektüre ... Das verwendet SimpleTest und damit ist es besser als mit PHPUnit ...

Newbie's Leitfaden für Unit-Tests

>     
rajesh pillai 07.01.2011 09:33
quelle