2010-06-25 4 views
14

RSPec est un excellent framework de test ruby ​​(pour le développement piloté par les tests), quelqu'un sait quelque chose comme rspec mais, pour PHP?Quelqu'un sait quelque chose comme RSPec pour PHP?

+0

[Kahlan] (https://github.com/kahlan/kahlan) est une mise en œuvre plus existante (note: Je suis son créateur). – Jails

Répondre

3

PHPUnit est la norme de facto pour UnitTesting en PHP.
Il peut faire BD Testing dans une certaine mesure:

La classe PHPUnit_Extensions_Story_TestCase ajoute un cadre d'histoire qui faciliates la définition d'une langue spécifique du domaine pour le développement du comportement Driven. A l'intérieur d'un scénario, given(), when() et then() représentent chacun une étape. et() est le même type que l'étape précédente. Les méthodes suivantes sont déclarées abstraites dans PHPUnit_Extensions_Story_TestCase et doivent être mis en œuvre:

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

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

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

Edit: An more sophisticated alternative might be Cucumber avec Behat

16

PHPSpec est un framework de développement basé sur le comportement pour php. Je ne l'ai pas encore utilisé, cependant, je ne peux pas le commenter spécifiquement.

+3

Ce lien fonctionne: http://www.phpspec.net/ – NicoGranelli

-2

Selenium est un autre intéressant de mentionner ici.

+0

Selenium est pour l'automatisation des navigateurs. Bien que vous puissiez * l'utiliser * lors de la rédaction de divers tests, ce n'est pas un cadre de test comme le demande la question. – Nate

5

Behat! Construit au-dessus des composants de Symfony 2. Syntactiquement, pas aussi bien que la mise en œuvre de Ruby, mais obtenez toujours les avantages de BDD.

Je suis tombé sur moi-même et je ne l'ai pas encore utilisé. D'un coup d'œil, on dirait qu'il utilise des fermetures (ce qu'il devrait faire pour fonctionner comme RSpec/Cucumber) qui est une addition de PHP 5.3.

http://behat.org/

+3

Behat est un clone PHP de concombre, pas RSpec. Cet outil est pour le test de comportement au niveau de l'intégration (aka tests d'acceptation), pas vraiment des tests unitaires comme RSpec. –

0

Si vous êtes uniquement intéressé à la sortie des tests, vous pouvez utiliser phpunit-progress ce qui rend vos résultats des tests exactement comme les résultats de RSpecs.

0

Bee est très similaire, il est encore très jeune, mais je l'utilise pour certains projets.

Hope this helps ...