nl.hideout-lastation.com
Paradijs Voor Ontwerpers En Ontwikkelaars


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.com

Een BDD-test is vergelijkbaar, niet-programmeurs kunnen het ook begrijpen:

10 PHP geautomatiseerde testkaders

Met 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. Codeceptie

Codeception 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. Behat

Behat 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. PHPSpec

PHPSpec 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. SimpleTest

SimpleTest 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. Storyplayer

Storyplayer 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. Peridot

Peridot 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. Atoum

Atoum 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. Kahlan

Kahlan 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. Selenium

Selenium 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 gedachten

Geautomatiseerde 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.

50 Geeky Valentijnsdag Kaarten die je graag zou willen ontvangen

50 Geeky Valentijnsdag Kaarten die je graag zou willen ontvangen

Valentijnsdag komt eraan (als je het vergeet, is dit je herinnering), dus je bent waarschijnlijk op zoek naar cadeau-ideeën en -kaarten. In plaats van de cheesy, done-to-death, lovey-dovey V-day-kaarten die je als een verplichting stuurt in plaats van omdat je weet dat je significante andere echt leuk zal vinden, hebben we hier een verzameling van 50 schattige Valentijnsdagkaarten.

(Technische en ontwerptips)

25 Mind-Boggling-sculpturen die de wetten van de fysica trotseren

25 Mind-Boggling-sculpturen die de wetten van de fysica trotseren

Het doel van kunst is om het comfortabele ongemakkelijke en het ongemakkelijke comfortabel te maken. We dagen concepten uit die we gewend zijn, maar vinden troost in de daad zelf, en als het gaat om openbare kunst daagt geen ander kunstwerk de status-quo uit dan beelden die de logica tarten en ons begrip van hoe de dingen werken

(Technische en ontwerptips)