10 beste automatisierte Testing Frameworks für PHP
Haben Sie schon lange Stunden damit verbracht, Ihren PHP-Code zu debuggen? Nun, für die meisten Programmierer ist es wahrscheinlich nicht die faszinierendste Herausforderung, aber es gibt eine Lösung, die uns dabei helfen kann, diese mühsame Aufgabe zu verkürzen. Automatisiertes Testen kann den Arbeitsablauf der PHP-Entwicklung erheblich verbessern , da vorab geschriebene Tests den Entwicklungsprozess vorantreiben können .
In diesem Beitrag werden wir versuchen zu verstehen, warum automatisiertes Testen so cool ist, wie es funktioniert und welches die besten Test-Frameworks sind, mit denen Sie beginnen können.
BILD: Codeception.comEin BDD-Test ist dem ähnlich, Nicht-Programmierer können auch einen Sinn daraus machen:
10 automatisierte PHP-Test-FrameworksIn diesem Sinne werfen wir einen Blick auf 10 leistungsfähige automatisierte Test-Frameworks für PHP, die Sie verwenden können.
1. PHPUnit
PHPUnit ist das bekannteste Testframework zum Schreiben von Komponententests für PHP-Anwendungen. Komponententests nehmen kleine Teile Code namens Einheiten und testen sie nacheinander. Mit Hilfe von PHPUnit können wir eine testgetriebene Entwicklung durchführen.
Es kann über die Befehlszeile verwendet werden und bietet uns eine praktische TestCase-Klasse, die wir entsprechend unseren Anforderungen erweitern können. PHPUnit ermöglicht es Entwicklern auch, vordefinierte Assertionsmethoden zu verwenden, um zu bestätigen, dass sich die App auf eine bestimmte Weise verhält .
2. CodeceptionDie Codeception ermöglicht uns nicht nur Komponententests, sondern auch Funktions- und Akzeptanztests. Diese beiden letzteren testen die PHP-App als Ganzes mit allen Features, nicht als Einheiten. Codeception ermöglicht es uns, verschiedene Module gemäß unseren Entwicklungsanforderungen zu aktivieren und zu konfigurieren.
Es ist in viele PHP-Entwicklungsframeworks wie Symfony2, Laravel4, Yii, Phalcon und das Zend Framework integriert . Dies bedeutet, dass wir ein PHP-Automatisierungs-Testframework und ein PHP-Entwicklungsframework zusammen verwenden können, um einen supereffizienten Entwicklungsworkflow zu etablieren.
3. BehatBehat ist ein beliebtes, verhaltensorientiertes PHP-Testframework. Die Tests, die wir mit Behat schreiben können, sehen eher wie Geschichten aus als Code . Behat verwendet den StoryBDD-Subtyp der verhaltensorientierten Entwicklung (der andere Subtyp ist SpecBDD).
Das Framework wurde vom Cucumber-Projekt inspiriert, das ein Test-Framework für die Ruby-Programmiersprache ist.
4. PHPSpecPHPSpec folgt auch dem verhaltensorientierten Testansatz, aber seinem anderen Subtyp SpecBDD. Mit PHPSpec müssen wir zuerst die Spezifikationen schreiben, die beschreiben, wie sich der Anwendungscode verhält . Es wurde auch von einem Ruby-Test-Framework namens RSpec inspiriert.
5. SimpleTestSimpleTest ist ein einfach zu bedienendes Framework für das Testen von PHP-Einheiten im Test-Driven Development-Stil. Es kann als eine Alternative für PHPUnit angesehen werden. SimpleTest unterstützt SSL, Formulare, Proxies, Frames und grundlegende Authentifizierung und ermöglicht es uns, gängige PHP-Aufgaben schnell zu testen. Für Beispieltests sehen Sie sich die Tutorials des Entwicklerteams an.
6. GeschichtenerzählerStoryplayer ist ein Full-Stack-Testframework , mit dem End-to-End-Tests für eine ganze Plattform geschrieben werden können . Storyplayer unterstützt das Erstellen und Zerstören von Testumgebungen auf Anfrage . Es folgt dem TDD-Testansatz und ermöglicht es uns, Funktionstests zu schreiben, die eine Anwendung als Ganzes überprüfen können.
7. PeridotPeridot ist ein leichtgewichtiges, erweiterbares Testframework für PHP. Es verfügt über eine ereignisgesteuerte Architektur, mit der Tester das Framework einfach über Plug-Ins und Reporter anpassen können .
Peridot verwendet die describe-it- Syntax, um eine klare und lesbare Testsprache zu erstellen, die klar beschreibt, wie sich unser Anwendungscode verhalten soll.
8. AtoumAtoum ist ein intuitives und modernes PHP-Testframework, mit dem Unit-Tests durchgeführt werden können. Es vereinfacht die Testentwicklung und da es sich um ein junges Framework handelt, verwendet es einige neuere Funktionen, die in PHP 5.3 eingeführt wurden (es kann nicht mit älteren PHP-Versionen verwendet werden ), um uns einen schnellen und leicht verständlichen Testprozess zu bieten .
Atoum gewährleistet ein hohes Maß an Sicherheit während der Testausführung, da es jede Testmethode in einem eigenen PHP-Prozess isoliert.
9. KahlanKahlan ist ein umfassendes BDD-Testframework, mit dem Komponententests mit der describe-it- Syntax geschrieben werden können . Es umfasst das KISS-Prinzip (Keep It Simple, Stupid). Kahlan benötigt mindestens PHP 5.5.
Es hat eine kleine Codebasis, es soll etwa 10 mal kleiner sein als PHPUnit, und es hat viele Funktionen, die uns einen erweiterbaren und anpassbaren Test-Workflow bieten.
10. SelenSelenium ist ein ausgeklügeltes Testframework, das Browser automatisiert. Dies bedeutet, dass es möglich ist, Benutzerakzeptanztests zu schreiben, die die gesamte App als Ganzes untersuchen .
Selenium ist ein robustes Tool, das über eine eigene WebDriver-API verfügt, die einen Browser nativ so ansteuern kann, als würde ein echter Benutzer sie entweder lokal oder auf einem Remote-Computer verwenden . Selen ist ein ausgezeichnetes Werkzeug zum Testen reiferer Webanwendungen.
Abschließende GedankenAutomatisierte Test-Frameworks befähigen uns, qualitativ hochwertigeren PHP-Code zu schreiben, und aufgrund der Beliebtheit der Sprache haben wir viele Möglichkeiten, so dass wir uns für das entscheiden können, das unsere Entwicklungsbedürfnisse am besten erfüllt.
Es gibt jedoch eine wichtige Sache, die wir immer im Auge behalten müssen. Automatisierte Tests mögen zwar leistungsfähig sein, aber sie können niemals Beta-Tests ersetzen - Tests, die von echten Menschen durchgeführt werden, die die zukünftigen Benutzer der Anwendung sein werden.
Ein Blick in: Googles neue und verbesserte offizielle Kamera App
Für jeden Smartphone-Nutzer, egal auf welchem mobilen Betriebssystem Sie sich befinden, ist die Kamera-App eine der am häufigsten verwendeten Apps. Viele von uns entscheiden sich für Kamera-Apps von Drittanbietern, weil sie solider gebaut sind als die Aktien-Apps. Aber jetzt möchten Android-Nutzer möglicherweise die neue und verbesserte Google Kamera-App ausprobieren, die gerade im Play Store veröffentlicht wurde. Wenn Sie
So aktivieren Sie SSL für Localhost mit MAMP
Ein SSL (Socket Secure Layer) ist eine Möglichkeit, Ihre Website zu sichern. Grundsätzlich verschlüsselt SSL Datentransaktionen zwischen dem Browser und dem Server. Daher möchten Sie Ihre Website wahrscheinlich bereits in der Entwicklungsphase in einer SSL-Umgebung testen.URLs und andere Website-Assets wie CSS und JavaScript werden über das https Protokoll korrekt https . Als