2009-08-06 19 views

Antwort

8

Meiner Meinung nach, hier sind ein paar Dinge, die mir in den Sinn kommen:

  • PHPUnit ist integriert mit anderen Werkzeugen, wie zum Beispiel
    • Selenium (PHPUnit kann es verwenden, um öffnen wahre echte Browsern Ihrer Website zu testen)
    • phpUnderControl für kontinuierliche Integration
  • PHPUnit Werke gut mit Xdebug, Code-Coverage-Berichte generieren
  • PHPUnit ist mehr verbreitet; was bedeutet, wahrscheinlich mehr Unterstützung

Aber stelle ich mit symfony nicht funktionieren, noch Kalk ...
Trotzdem habe ich noch nie heards niemandem darüber sprechen, mit Ausnahme derjenigen mit symfony arbeiten - das ist nicht

  • „false“ Browser (in der Lage: eine gute Sache, für den Tag werden Sie mit einem anderen Rahmen (ja, das passiert ^^)


    eine Sache, die nicht in PHPUnit ist arbeiten HTTP-Anfragen an die Anwendung zu senden, ohne Seleni zu verwenden um einen echten Browser zu öffnen)

Aber einige Frameworks (Zend Framework, damit Zend_Test Komponente) ist mit PHPUnit integrieren (oder verwenden), während der Injektion von Daten in das MVC ermöglicht und das Abrufen der Antwort , ohne eine HTTP-Anfrage ausstellen zu müssen.
Ich weiß nicht, ob symfony das erlaubt, aber das ist eine schöne Sache mit ZF/PHPUnit ^^


(Ja, kein symfony-spezifische Antwort, aber der Dinge, die ich immer noch gültig sein muss, sagte mit diesem Rahmen)

6

Lime ist ein viel einfacher Test-Framework, das eine gute oder eine schlechte Sache sein kann, je nachdem, wie Sie es verwenden möchten.

Die Symfony-Bibliothek selbst verwendet ihr eigenes Test-Framework, Lime, um ihre Codebasis zu testen. Aus dem Symfony Buch:

Es ist auf dem Test-basiert :: Mehr Perl Bibliothek und ist TAP-konform, die bedeutet, dass das Ergebnis von Tests wird im Test Alles Protokoll wie angegeben angezeigt, entworfen für bessere Lesbarkeit der Testausgabe.

Ich kann nicht für die Aussage bürgen, dass der Kalk Rahmen „leichter“ als andere PHP-Test-Frameworks wie Symfony-docs behaupten, aber ich mag es wirklich, dass es direkt in Ihr symfony-Projekt gebaut ist und arbeitet gut mit der Symfony Kommandozeilen-Tools ohne zusätzliche Konfiguration. Eine besonders coole Sache ist, dass die Kalk-Tests in Symfony so konfiguriert sind, dass sie innerhalb Ihrer "Test" -Umgebung mit einer eigenen Datenbank, Symfony-Cache (die während jeder Testsitzung gelöscht wird) und Umgebungsvariablen ausgeführt werden. Dies ist praktisch, wenn Sie Funktionstests durchführen möchten (Überprüfung der Serverantwort und Ihrer HTML-Ausgabe in Ihren Modulen/Aktionen, im Gegensatz zu grundlegenden Unit-Tests). Ich mag auch, dass Limette super einfach zu erlernen und zu verstehen ist, da es so einfach ist. Sie haben auch die Möglichkeit, Ihre Tests in die YAML-Konfigurationsdatei zu schreiben, anstatt die Tests manuell zu schreiben.

Pascal ist völlig richtig, dass PHPUnit viel häufiger verwendet wird und Sie es in Nicht-Symfony-Projekten verwenden können. Es gibt sogar ein Plugin dafür, PHPUnit symfony plugin. Mein bester Rat wäre, Limon zu verwenden, wenn Sie einfach nur einfache Tests schreiben möchten, während Sie Ihre Symfony-App entwickeln. Aber wenn Sie Zeit haben und hoffen, diese Testfähigkeiten außerhalb der Symfony-Welt zu nutzen oder bereits vorhandene PHPUnit-Tests in Ihren Symfony-Code einzubringen, wäre es Ihre Zeit wert, das Plugin zu testen und es zu drehen .

Verwandte Themen