2010-06-25 11 views
14

RSPec ist ein großartiges Ruby-Test-Framework (für testgetriebene Entwicklung), jeder weiß sowas wie rspec, aber für PHP?Wer kennt etwas wie RSPec für PHP?

+0

[Kahlan] (https://github.com/kahlan/kahlan) ist eine engere bestehende Implementierung (Anmerkung: Ich bin sein Schöpfer). – Jails

Antwort

3

PHPUnit ist der De-facto-Standard für UnitTesting in PHP.
Es kann BD Testing in begrenztem Umfang tun:

Die PHPUnit_Extensions_Story_TestCase Klasse fügt eine Geschichte Framework, das die Definition einer domänenspezifische Sprache für Behavior Getriebene Entwicklung faciliates. In einem Szenario geben given(), when() und then() jeweils einen Schritt an. und() ist die gleiche Art wie der vorherige Schritt. Die folgenden Methoden werden erklärt abstrakt in PHPUnit_Extensions_Story_TestCase und müssen umgesetzt werden:

runGiven(&$world, $action, $arguments) 
... 

runWhen(&$world, $action, $arguments) 
... 

runThen(&$world, $action, $arguments) 
... 

Edit: An more sophisticated alternative might be Cucumber mit Behat

16

PHPSpec ist ein Verhalten-Driven Development Framework für PHP. Ich habe es selbst noch nicht benutzt, daher kann ich es nicht speziell kommentieren.

+3

Dieser Link funktioniert: http://www.phpspec.net/ – NicoGranelli

-2

Selenium ist ein anderes wert, hier zu erwähnen.

+0

Selenium ist für die Automatisierung von Browsern. Während Sie vielleicht * dies * beim Schreiben verschiedener Tests verwenden können, ist es kein Testframework, wie die Frage stellt. – Nate

5

Behat! Erbaut auf Symfony 2 Komponenten. Syntaktisch, nicht so schön wie Ruby-Implementierung, aber immer noch die Vorteile von BDD.

Ich bin gerade selbst darüber gestolpert und habe es noch nicht benutzt. Auf den ersten Blick sieht es so aus, als ob es Closures verwendet (was es tun müsste, um wie RSpec/Cucumber zu funktionieren), was ein Zusatz von PHP 5.3 ist.

http://behat.org/

+3

Behat ist ein PHP Klon der Gurke, nicht RSpec. Dieses Tool ist für Verhaltenstests auf der Integrationsebene (aka. Abnahmetest), nicht wirklich Unit-Tests wie RSpec. –

0

Wenn Sie nur Interessenten in der Ausgabe von Tests, Sie phpunit-progress, die Ihre Tests verwenden könnten Ergebnisse der Ergebnisse genau so aussehen wie RSpecs machen.

0

Bee ist sehr ähnlich, es ist immer noch sehr jung, aber ich benutze es für einige Projekte.

Hope this helps ...

Verwandte Themen