symfony 2S volgde de functionele tests, de functionele tests en 2 volgde,,,,,,,,, symfony 80 9 aandelen,,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, test je web van toepassing is om ervoor te zorgen dat de gezondheid van de beste dingen, de veiligheid en de veiligheid van de aanvragen en de toepassing, voor de toeristen.Symfony 2 voorziet in een volledige integratie van de suite, kan je ervoor zorgen dat je aanvraag zoals je verwacht.Vandaag hebben we om te zien hoe we het gebruik van 2 en phpunit symfony, het testen van het kader van de reptielen, schrijven de   functie test.,, de installatie, het, voordat we kunnen beginnen met een vorm van onderzoek, zetten we ons project downloaden symfony toewijzing van 2 kader downloaden, en dan phpunit.  ,, 2, download symfony 2. De beste methode is het gebruik van symfony componist.Als je niet weet wat de componist is, moet een geweldige artikelen en opleiding en cursussen, dan geven ze je snel.  , moeten wij in de eerste plaats op onze terminal of de commando - interface, dus we kunnen een componist bevel afgegeven.Als je de terminal, verandering van de lokale ontwikkeling van de gids naar je wortels.Voor mij, OS X, dit is mijn, ~ /website, catalogi, cd 's, ~ /website, als op de juiste gids, we kunnen nu gebruik maken van de componist creëerde een nieuwe symfony 2 project zal downloaden en de installatie van een kader en afhankelijk van de projecten.  , componisten, het creëren van symfony standaard uitgave kruipen /~ /kader van 2,5 ", het bevel zegt componist creëerde een nieuwe projecten in het kader van het gebruik van symfony 2 een nieuwe gids, kruipen, en we zijn aangewezen, te downloaden, exacte versie - 2,5.Als dat is wat je de eerste keer gedownload van het kader, het kan een tijdje duren, want er zijn veel bibliotheek gedownload van alle leveranciers.Dus misschien wil je snel even een paar minuten terug.  , downloaden voltooid is, je moet nu aan de terminal van de interactieve gids zal u helpen te configureren.Dit is niet vanzelfsprekend, zolang de geloofsbrieven van de eigen inbreng van of het aanvaarden van standaardwaarden voor wat ik heb gedaan:,,,,, als je in je profiel, symfony 2 downloaden, uitgerust en klaar om te gebruiken.Nu moeten we alleen phpunit dus kunnen we het testen van de code, en, de installatie, het downloaden van phpunit phpunit, kunnen we gebruik maken van onze terminal wget commando opzoeken, farmacie, of is het downloaden van de website van het dossier, ze zien je, de: https: ///////geneesmiddelen, wget. Phpunit. De /phpunit farmaceutische en. De apotheek,,,,, downloaden, nu moeten we aan de autoriteit en de overgang naar een locatie, ons een terminal of commando, Ho, PHP toegang kunnen krijgen.Op m 'n antwoordapparaat gebruiken os X, ik mij, /usr/local/bin gids.Ik   omgedoopt tot het dossier moet phpunit, dus hoef ik me geen zorgen te maken als ik de test uit proberen te vluchten, bespaart me een beetje tijd, en phpunit.phar pseudo - chmod + x m 'n phpunit.phar /usr/local/bin /phpunit, moeten we nu kunnen controleren of de code is aangebracht door de terminal loopt, phpunit, commando' s.Je moet zulke dingen zien:,,,,, het creëren van de buis kruipen, we hebben nu een bundel blijven we de tests en de toepassing van de code.Laten we het creëren van een symfony 2 console, in de terminal, cd 's, we: ~ /site /PHP /console kruipen die straal namespace: = kruipen /ftestingbundle - formaat = Reid, hier, we veranderen de gids naar ons, kruipen, en   console gebruiken voor het creëren van een nieuwe bundel.We zijn aangewezen en de bundeling van leveranciers en de bundeling van de naam, door een verder verminderen (, /).Tot slot, vertellen we het gebruik van yaml formaat als ons profiel.Nu kun je gebruik maken van een vorm die je wilt, als je het niet wilt gebruiken   yaml kan ook de naam van je. Maar je wilt, als je aan het einde van een naam van de leverancier en de naam van je tas met suffix, straal,,, op de bovengenoemde commando, we hebben een goede tovenaar de voltooiing van de installatie te binden.Ik heb elke standaard voor het snel invoeren om het hele proces is heel eenvoudig, om een einde te maken aan de weg kan, zal je dossier op locatie.Hier. Ik stel de tovenaar:,,,,, hoe loopt je test, oké, we hebben symfony 2, phpunit en straal; ik denk dat we kunnen leren hoe we nu de   phpunit testen en   symfony.Dit is echt heel eenvoudig, maar veranderen de Gids van je, crawl,   projecten en de taken, de phpunit C - programma 's, die alle aanvragen om je te testen.Je moet je de volgende:,,,,, als we die straal ook geleid tot een punt van ons de code van het monster.Je ziet de test is het voorbeeld van een deel van de code.Je kunt zien hebben we een groene BAR, laten we weten dat we door de test.Nu is boven, de tijd: 1,97 seconden, we   ook één punt   zien voor ons, maar een test.In de BAR waar we de groene staat, oké, en hoeveel testen en dat is weg.  ,  , dus gewoon het bevel en we weten dat symfony 2 na de installatie van de normale werking van het programma, en de test. ,, het creëren van een controleur, model & routes, wat we nu nodig hebben is een daadwerkelijke toepassing van de code, we kunnen het testen.  , controleur, laten we het creëren van een nieuwe categorie van documenten en de voor de verwerking verantwoordelijke voor de verwerking van     actie te beginnen.In je, kruipen, kruipen /src /project, ftestingbundle /de verantwoordelijke voor de verwerking, het creëren van een nieuwe naam, crawlingcontroller.php, en wordt de volgende:,, <?PHP ftestingbundle namespace kruipen, en voor het gebruik van de frameworkbundle symfony; \\ plexus, verantwoordelijke voor de uitbreiding van de voor de verwerking verantwoordelijke {}; crawlingcontroller, in dit dossier, dat wij onze fundamentele voor de klassen, geef het een vader nodig, met inbegrip van de verantwoordelijke voor de verwerking die nodig.  ,,,., onze klas, laten we nu onze twee eenvoudige definitie van de   verantwoordelijke actie.Ze heeft twee verschillende pagina 's: een, het Huis, de pagina' s en andere pagina 's:,,,, openbare functies homeaction () {terugkeer dollar - > en ('crawlingftestingbundle: kruipen naar huis. Http: //europa.eu.int. Tak ");} {regressie van openbare functies otheraction () dollar - > en ('crawlingftestingbundle:: andere kruipen. Http: //europa.eu.int. Tak");}, modellen, nu moeten we tot de verantwoordelijke voor de verwerking de model - document.De volgende, src /... /test /resource /oog, het creëren van een nieuwe gids genoemd, kruipen, nam ik, crawlingcontroller, model - document.De eerste keer in het dossier, home.html.twig, met de volgende: //europa.eu.int /comm /binnen:,, < H1 > de sluipende < /H1 > < p> dit is onze homepage kruipen. < /P > < p> verzoekt de toegang tot < a = "{{weg href ('crawling_other")}} "> een andere bladzijde < /> ook!< /P >,, maar bevat een aantal fundamentele: //europa.eu.int /comm /en het verband met andere pagina 's,,,, is nog steeds   creëren, other.html.twig, documenten, de: //europa.eu.int /comm /binnen:,, < H1 > andere pagina' s < /H1 > < hier is p> een ander netwerk pagina 's, en de banden met onze homepage, gewoon voor de tests. < /P >,, de weg, de laatste, de toepassing van de code, laten we deze twee pagina' s van de definitie van de route.Open, src /kruipen /ftestingbundle /resources /... /routing.yml, en in de volgende twee routes, onder de standaard die weg, en onze route documenten:,, crawling_home: in gebreke blijven kruipen weg: //: {_controller:crawlingftestingbundle:::} crawling_other huis kruipen weg: /kruipen /andere standaard:::: {_controller crawlingftestingbundle kruipen, enz.}, hier mijn definitie van twee routes, met elk van de verantwoordelijke voor de verwerking optreden.We beginnen met de naam van de route, die we kunnen gebruiken in de band.Dan zijn we aangewezen routes, dit is de toegang tot de website van de browser Uri, dan vertellen we het de verantwoordelijke voor de verwerking moet een kaart, met yaml, onthoud, wil je niet met behulp van een etiket, altijd gebruik van ruimten of de route die je niet zal werken.Dus, alleen deze twee pagina 's, zelfs als ze is, hoe de statische, we kunnen nog veel leren, over het gebruik van de test met een reptiel symfony 2 de verantwoordelijke voor de verwerking, het hele spectrum model, routes, met als geheel (functionele tests), als om ervoor te zorgen dat we de juiste weergave van de pagina' s    : //europa.eu.int /comm /structuur.  ,, schrijf een functionele tests, en we zijn klaar om te beginnen leren schrijven, functionele tests   opgespoord.Ten eerste, creëren we een test, en het creëren van ons dossier. En testen van alle documenten, op 2 phpunit symfony test test opgeslagen je bagage, en test /voor elke controleur   moet een eigen catalogus van tests van de voor de verwerking verantwoordelijke voor de verwerking de naam, het na de test.Want we hebben een, crawlingcontroller, moeten we tot een, crawlingcontrollertest.php, dossiers, ftestingbundle /src /... /test /de verantwoordelijke voor de verwerking en de definitie van de categorieën, de volgende:,, <?PHP ftestingbundle namespace kruipen,, testen, controleurs; frameworkbundle symfony, bundel, testen, WebTestCase soort uitbreiding; crawlingcontrollertest WebTestCase {}, hebben we hier een test en met inbegrip van WebTestCase vader gaf ons de phpunit testen.We testen van klasse precies hetzelfde, we de naam van de vader en de uitbreiding van WebTestCase laten we erven de kenmerken,., we creëren een bezit van onze beweringen, zullen wij voor het testen van de methoden voor het testen van ons Huis.In onze test, het creëren van de volgende methoden:,, openbare functie testhome () {}, wanneer je het creëren van een phpunit in symfony 2 we altijd met de namen van de methode voor de test.Je kan deze methode de naam zelf een naam noemen als je wil, maar het Verdrag is de verantwoordelijke voor de verwerking in je test na de operatie zou de naam van haar naam.Dus hier, ik ben ik,   Testhome, volgen de Verdragen.,, de klanten, de methode voor het meten van de nu voor ons, en we hebben een manier om de simulatie van een browser, we kunnen een verzoek tot we een http routes en we hopen dat het testen, alles werkt.We zullen door een beroep te doen op een statische, createclient (). De methode: het creëren van een cliënt object, $= statische:: createclient ();,, nu kunnen we gebruik maken van de cliënt object   dollar, waardoor de http en beginnen met het spoor, een baan, een spoor, functionele tests in symfony 2 de kern, laten we ons verzamelen over en over de toepassing van de web - pagina 's informatie, alsmede de uitvoering van werken zoals de klik op de link of de indiening van het formulier.Laten we met de cliënt een definitie van de reptielen http ons doel.Toevoeging van de volgende naar je, op je klanten, dollar voor dollar, Testhome:,,, de dollar, reptielen = klanten > het verzoek ("," /kruipen /home);,, zal dit de terugkeer van een reptiel voorwerpen voor het testen van onze homepage.Het zou laten weten, dat we de pagina er is, er is een correcte en  : //europa.eu.int /comm /. De verantwoordelijke voor de verwerking, model, en de route al het werk als een eenheid. , testen, Post & leden, te beginnen met onze functie test, we willen zeggen dat we met de homepage van het passende interne inhoud en de juiste koers.We gebruiken onze, $reptielen, het object en de verschillende manieren om dit te bereiken.Deze methode zal terugkeren naar een ander reptiel voorwerpen, met inbegrip van de reactie van de werkelijke test pagina 's.Dan zullen we testen op alles, om ervoor te zorgen dat, zoals verwacht,. Wordt de volgende code toevoegen aan je, Testhome, methode: de titel = dollar, spoor - > filter ('H1 ") - > EG) (0):% GT% (); - het > dat de titel van de eerste ('crawling blz.), de dollar;,, we beginnen met het bellen van ons, voor Caterpillar, voorwerpen, filter (filter), pagina' s van de reactie en de keuze van de methode  , H1 - elementen.En dan, kunnen we het hier een andere methode, voor onze keuze, of zelfs nog verder.Ik gebruik hier, eq (), het aanvaarden van een index van de positie van de methode voor de selectie van H1 - elementen moeten we.Ik koos de selectie -, 0, de eerste post.Tot slot,   me aan de ketting op de tekst van de methode, het zal terug naar de inhoud van de tekst van deze elementen en de resultaten van de opslag in een $titel variabelen, filteren.,, willen we de test na de H1 - elementen, die we nu te beweren dat we de juiste elementen.We gebruikte methode, assertequals (),   accepteren als de eerste parameter, we verwachten wat van waarde en als tweede argument, de terugkeer van de reactie van de werkelijke waarde van de titel zelf, dit is ons voor.Door dat te doen, zullen we weten dat we op de juiste   pagina 's, als met de inhoud van ons verwacht, het testen, de titel, de, dus PHP gewoon vier lijnen, kunnen we de test van ons Huis voor de verwerking, model, en de route.Laten we onze test, om ervoor te zorgen dat het paspoort.Op je terminal, van jou, kruipen, symfony project, op de vlucht, phpunit C toepassing /,.Je zou moeten zien als volgt:,,,,, hier hebben we nu twee voorstellen, dit alles door.Nu kan je op soortgelijke wijze enkele Lid - test, maar deze keer zullen we het gebruik van deze methode, (), dat  :,,,, maar de dollar = dollar crawler > filter ("P") - > de eerste () - > (); dit en De US - dollar (GT; dat het "dit is onze homepage kruipen." para1 dollar);,, als je je test, we hebben nu drie door de bewering.Goed gedaanEen klik op de link, testen, laten we nu proberen om tijdens de test van onze andere pagina 's Link klikken.Het moet ons naar de andere pagina 's, en tonen de juiste inhoud, en.Wordt de volgende code in je, Testhome methode:,,, $link = dollar crawler > filter (A: bevat ("een andere bladzijde") ") - > de eerste () - > link () dollar; otherpage = klanten > daarna ($dollar banden); - > dat het (de andere pagina 's, otherpage dollar - > filter (' H1") - > de eerste () - > ());,, beginnen we met de filter onze homepage, een etiket.We gebruiken: bevat (),   filtratie filteren, de inhoud van een etiket, dus we moeten de juiste keuze van de banden.En dan zullen we de keten, eerste (), pak de eerste oproep, Link (). De methode is het creëren van een band met het doel, we kunnen simuleren op gebruik te maken van onze cliënt, dollar,,,, en we hebben nu een link, dollar, voorwerpen, we moeten via de klik Het noemt, object. De   dollar, (), methoden en bij de levering van de banden, dollar, het voorwerp en de opslag op otherpage dollar terug veranderen.Dit is net als alle andere voorwerpen   reptielen, antwoord terug van de methode.   is makkelijk.Tot slot,,, maar we geloven dat we onze tekst van de post, is gelijk aan de otherpage dollar, verwachten we dat zij worden gebruikt, assertequals (). De methode is.Als dat zo is, weten we dat we het werk van de banden.De werking van de test, je de laatste keer.Laten we nu, voor onze test, om ervoor te zorgen dat we goed werk van de banden, en op het in de na, zijn we op de juiste op de pagina 's van de laatste keer.Het is ik,,,,, - resultaten: we hebben twee tests en vier   beweren, is dit alles voorbij is.De toepassing van de voltooiing van de procedures.,,, conclusies, dat is alles.We hebben onze controleur, actie, model, en route werken allemaal samen, we weten dat elk element: //europa.eu.int /comm /inhoud correct weergegeven op de pagina, en we de link naar de juiste plaats.- goed werk.,,, nu ik je aangemoedigd om te proberen je al geslaagd voor de test, dat andere pagina 's, meer in het algemeen: //europa.eu.int /comm /of te koppelen aan het spoor dat je gewoon gebruikt om ervoor te zorgen dat de pagina' s zijn werk  , zoals verwacht.

Configuring Crawler
Running PHPUnit
Creating the Crawling Bundle
Running PHPUnit Tests
Running the Heading Test
Run Your Tests One Last Time



Previous:
Next Page: