10 Best geautomatiseerde testraamwerken voor PHP
Heb je ooit veel tijd besteed aan het debuggen van je PHP-code? Nou, voor de meeste programmeurs is dit waarschijnlijk niet de meest fascinerende uitdaging, maar er is een oplossing die ons kan helpen deze vervelende taak te verkorten. Geautomatiseerd testen kan de workflow van PHP-ontwikkeling aanzienlijk verbeteren door vooraf geschreven tests toe te staan het ontwikkelingsproces te stimuleren .
In deze post proberen we te begrijpen waarom geautomatiseerd testen zo cool is, hoe het werkt en wat de beste testkaders zijn waarmee je kunt beginnen.
IMAGE: Codeception.comEen BDD-test is vergelijkbaar, niet-programmeurs kunnen het ook begrijpen:
10 PHP geautomatiseerde testkadersMet dat in gedachten, laten we een kijkje nemen bij 10 krachtige geautomatiseerde testraamwerken voor PHP die u kunt gebruiken.
1. PHPUnit
PHPUnit is het bekendste testraamwerk voor het schrijven van eenheidstests voor PHP-apps. Eenheidstests nemen kleine delen van de code met de naam eenheden en testen ze een voor een. Met de hulp van PHPUnit kunnen we testgestuurde ontwikkeling uitvoeren.
Het kan worden gebruikt via de opdrachtregel en het biedt ons een handige TestCase-klasse die we kunnen uitbreiden op basis van onze behoeften. PHPUnit biedt ontwikkelaars ook de mogelijkheid om vooraf geschreven beweringsmethoden te gebruiken om te beweren dat de app zich op een bepaalde manier gedraagt .
2. CodeceptieCodeception stelt ons niet alleen in staat om eenheidstesten te schrijven, maar ook functionele en acceptatietests. Deze twee laatsten testen de PHP-app als geheel met alle functies met elkaar verbonden, niet als eenheden. Met Codeception kunnen we verschillende modules inschakelen en configureren volgens onze ontwikkelingsbehoeften.
Het is geïntegreerd met vele PHP-ontwikkelingskaders zoals Symfony2, Laravel4, Yii, Phalcon en het Zend Framework . Dit betekent dat we samen een PHP-framework voor automatiseringstest en een PHP-ontwikkelingsraamwerk kunnen gebruiken om een superefficiënte ontwikkelingswerkstroom tot stand te brengen.
3. BehatBehat is een populair gedragsgestuurd PHP-testraamwerk. De tests die we met Behat kunnen schrijven lijken veel meer op verhalen dan op code . Behat gebruikt het StoryBDD-subtype van gedragsgestuurde ontwikkeling (het andere subtype is SpecBDD).
Het raamwerk is geïnspireerd op het Cucumber-project dat een testraamwerk is voor de programmeertaal Ruby.
4. PHPSpecPHPSpec volgt ook de gedragsgestuurde testaanpak, maar het andere subtype genaamd SpecBDD. Met PHPSpec moeten we eerst de specificaties schrijven die beschrijven hoe de applicatiecode zich zal gedragen . Het werd ook geïnspireerd door een Ruby-testraamwerk genaamd RSpec.
5. SimpleTestSimpleTest is een eenvoudig te gebruiken PHP-unit testing framework in Test-Driven Development-stijl, het kan worden gezien als een alternatief voor PHPUnit. SimpleTest ondersteunt SSL, formulieren, proxies, frames en basisverificatie en stelt ons in staat om veelgebruikte PHP-taken snel te testen. Voor voorbeeldtestcases raadpleegt u de zelfstudies van het ontwikkelteam.
6. StoryplayerStoryplayer is een volledig samengesteld testraamwerk dat het mogelijk maakt om end-to-end tests voor een volledig platform te schrijven . Storyplayer heeft ondersteuning voor het creëren en vernietigen van testomgevingen op aanvraag . Het volgt de TDD-testaanpak en stelt ons in staat functionele tests te schrijven die een toepassing als geheel kunnen controleren.
7. PeridotPeridot is een lichtgewicht, uitbreidbaar testraamwerk voor PHP. Het beschikt over een evenementgestuurde architectuur waarmee testers het framework gemakkelijk kunnen aanpassen via plug-ins en reporters .
Peridot gebruikt de syntaxis van describe-it om een duidelijke en leesbare testtaal vast te stellen die duidelijk beschrijft hoe onze toepassingscode zich zou moeten gedragen.
8. AtoumAtoum is een intuïtief en modern PHP-testraamwerk waarmee we unit tests kunnen uitvoeren. Het vereenvoudigt de testontwikkeling en omdat het een jong raamwerk is, maakt het gebruik van een aantal nieuwere mogelijkheden die in PHP 5.3 werden geïntroduceerd (het kan niet worden gebruikt met oudere PHP-versies ) om ons een snel en gemakkelijk te begrijpen testproces te bieden. .
Atoum garandeert een hoog niveau van beveiliging tijdens de testuitvoering, omdat het elke testmethode isoleert in zijn eigen PHP-proces.
9. KahlanKahlan is een volledig uitgerust BDD-testraamwerk dat het mogelijk maakt om eenheidstests te schrijven met behulp van de syntaxis van describe-it . Het omvat het KISS (Keep It Simple, Stupid) ontwerpprincipe. Kahlan vereist ten minste PHP 5.5.
Het heeft een kleine codebasis, naar verluidt ongeveer 10 keer kleiner dan PHPUnit, en het heeft heel veel functies die ons voorzien van een uitbreidbare en aanpasbare testworkflow.
10. SeleniumSelenium is een geavanceerd testraamwerk dat browsers automatiseert. Dit betekent dat het mogelijk is om gebruikersacceptatietests te schrijven die de hele app als geheel onderzoeken .
Selenium is een robuuste tool met een eigen WebDriver-API die native een browser kan besturen alsof een echte gebruiker het lokaal of op een externe machine zou gebruiken . Selenium is een uitstekende tool voor het testen van meer volwassen webtoepassingen.
Laatste gedachtenGeautomatiseerde testkaders stellen ons in staat om PHP-code van hogere kwaliteit te schrijven, en vanwege de populariteit van de taal hebben we veel keuzes, dus we kunnen kiezen voor degene die het best tegemoet komt aan onze ontwikkelingsbehoeften.
Er is echter een belangrijk ding dat we altijd in gedachten moeten houden. Geautomatiseerd testen kan krachtig zijn, maar het kan nooit bètatesten vervangen - tests uitgevoerd door echte mensen die de toekomstige gebruikers van de toepassing zullen zijn.
5 geheimen van ontwerpers om uw loopbaan te starten
Freelancen is een reis voor ieder van ons en we leren en groeien van de fouten en fouten die we maken op het werk. Leren van onze fouten is een cruciale stap in de reis naar succes.Neem mijn ervaring bijvoorbeeld. Ik doe freelance werk aan de kant, alleen op zoek naar projecten als ik wat extra geld nodig heb
Fascinerende groenten en fruit Kunst door Dan Cretu
Weet je nog dat je moeder je altijd vertelt dat je fruit en groenten moet eten, maar dat chocolade en vlees op de een of andere manier altijd winnen? Feit is dat groenten en fruit goed voor je zijn, en ze zijn ook goed voor kunst, in de handen van de juiste kunstenaar.Dan Cretu is een conceptuele kunstenaar die graag speelt met zijn eten, sorta