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?
Antwort
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
PHPSpec ist ein Verhalten-Driven Development Framework für PHP. Ich habe es selbst noch nicht benutzt, daher kann ich es nicht speziell kommentieren.
Dieser Link funktioniert: http://www.phpspec.net/ – NicoGranelli
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.
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. –
Es gibt nur wenige von RSpec Klone in PHP.
Auch ist es ein Original-Test-Framework Codeception
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.
Bee ist sehr ähnlich, es ist immer noch sehr jung, aber ich benutze es für einige Projekte.
Hope this helps ...
- 1. Wer kennt den PHP-Quellcode?
- 2. Wer kennt einen anständigen HTML-Editor?
- 3. Wer kennt einen guten kostenlosen Patch-Schöpfer?
- 4. Wer kennt eine YUI-basierte Bildvergrößerung?
- 5. Wer kennt die einfache Paint/Annotation Control für .net?
- 6. Wer kennt eine OpenSource Collaborative Translation App?
- 7. Wer kennt gute private Nachricht gem für Schienen 3.2?
- 8. Wer kennt eine gute .Net-Schach-Engine
- 9. Wer kennt eine gute Dokumentation der Bannerrotation?
- 10. Wie kennt PHP Composer die PHP-Version?
- 11. Wer kennt einen eloquenten Weg, einen Konstruktor Konstruktor zu machen?
- 12. Wer kennt die Seite von "ASP Demos Design Patterns"?
- 13. Wer kennt eine generische Transaktions Map | Stellen | Liste
- 14. Wer kennt die Objective-J Syntax Highlighting in vi?
- 15. Wer sieht etwas falsch mit meiner Regex für Portnummern?
- 16. Wer weiß etwas über OLAP Internals?
- 17. Wer kennt eine Website zum Lernen von VBA in PowerPoint?
- 18. etwas ähnlich wie Python-DJANGO in PHP?
- 19. Wer kennt eine gute Problemumgehung für das Fehlen einer enum generischen Einschränkung?
- 20. Wer kennt keine vernünftigen Ressourcen für Stored Procedures for Fluent Nhibernate 1.1
- 21. Wer kennt eine (freie/Open Source) VI-Integration für Visual Studio?
- 22. Kann keine anständige git gui für Windows finden. Wer kennt das?
- 23. Wer kennt ein einfaches Beispiel für einen Netty-HTTP-Server, der persistente HTTP-Verbindungen unterstützt?
- 24. Wie erwarte ich etwas, das in RSpec eine Ausnahme auslöst?
- 25. Wer kennt eine Liste von Delegierten, die bereits in das Framework integriert sind?
- 26. Wie Rspec Für Controller testen,
- 27. Wer dekodiert für URLencoding?
- 28. MVVM - Wer ist verantwortlich für
- 29. Ressourcen und Referenzen für RSPEC
- 30. Wer weiß etwas über den Entwicklungsfortschritt von EntityFramework.MappingAPI?
[Kahlan] (https://github.com/kahlan/kahlan) ist eine engere bestehende Implementierung (Anmerkung: Ich bin sein Schöpfer). – Jails