de begynder guide til enhed test: hvad er enhed test?

, begynder guide til enhed test: hvad er enhed test?,,,,, 7,,,,,,,,, 12,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss., afhængigt af deres baggrund, du måske ikke har hørt om enhed, test, test drevet udvikling, opførsel drevet udvikling eller en anden type prøvningsmetodologi.mange gange, de metoder, der anvendes i forbindelse med større software, systemer eller ansøgninger og mindre i forbindelse med wordpress baseret projekter (selv om det er ved at blive bedre., det er en smule uenige om udvikling automatisk programmeltestning – du har nogle mennesker, som synes, at du skal have test for 100% af al din kode, mener nogle, at 80% er tilstrækkeligt, at ca. 50%, og nogle er tilfredse med 20%.hvad det end måtte være, er denne artikel ikke diskutere en sag for størrelsen af prøver, du har i dit projekt, er det heller ikke at tage stilling til generelle programmeltestning.,, men vi skal se på, hvad der er nødvendigt for at komme op at køre med enhed at teste deres wordpress udviklingsprojekter.vi kommer til at nærme sig denne serie, set fra et absolut nybegynder, således at vi kan forstå fordelene af enhed, afprøvning og hvordan til at organisere vores miljø til støtte for enhed, testning, biblioteker, så vi kan begynde at gøre det i vores fremtidige arbejde.alt dette vil blive gjort af bygge - og prøvning af en enkelt, testes stik af fra jorden op.,,,,,,, hvad der er enhed test?, inden vi begynder at oprette vores miljø og skrive en kode, lad os definere, hvad enhed testning, hvorfor det er værd at gøre, og hvordan vi kommer i gang med det i vores projekter.,, på højt plan enhed afprøvning henviser til praksis for at teste visse opgaver og områder – eller enheder – vores kodeks.dette giver os mulighed for at kontrollere, at vores funktioner fungerer som forventet.det vil sige, at enhver funktion og givet en række råmaterialer, kan vi fastslå, hvis funktion er at rette værdier og med klare fejl i forbindelse med gennemførelsen bør ugyldige input gives., i sidste ende, hjælper det os med at identificere fejl i vores algoritmer og /eller logik, at bidrage til at forbedre kvaliteten den kode, som består af en bestemt funktion.så begynder du at skrive flere og flere prøver, du ender med at skabe en række forsøg, som du kan løbe på et hvilket som helst tidspunkt under udvikling til løbende at kontrollere kvaliteten af dit arbejde.,, en anden fordel, nærmer sig udvikling fra en enhed afprøvning perspektiv er, at du nok skrive kode, der er let at prøve.da enheden test kræver, at din kode let kan testes, betyder det, at din kode skal støtte netop denne type evaluering.så du er mere tilbøjelige til at have et større antal mindre og mere målrettet funktioner, der giver en enkelt operation på et sæt af data i stedet for store opgaver, der udfører en række forskellige operationer.,, en tredje fordel, for at skrive fast enhed prøver og testet kode er, at man kan undgå fremtidige ændringer i at bryde funktionalitet.siden du tester din kode, som du præsentere deres funktionalitet, skal du begynde at udvikle en række prøvesager, der kan styres, hver gang du arbejder på din logik.når en fejl sker, ved du, at du har noget at tage fat på, naturligvis, det sker på bekostning af investering af tid til at skrive en række test tidligt i udvikling, men som projektet bliver du bare kan køre testene, som du har udviklet for at sikre, at eksisterende funktioner er ikke i stykker, når nye funktioner indført.,,, planlægning af vores stik af, en af de bedste måder at komme i gang med enhed test er at gøre det inden for rammerne af en praktisk anvendelse.i hele denne todelte serie skal vi bygge en enkelt stik af og skrive test for at dække alle de funktioner, lad os planlægge projekt: vi kommer til at skrive et lille stik af, at tilføje et enkelt budskab på toppen af en enkelt post, som hilser bruger baseret på, hvor de har fandt en specifik postede.idéen er meget lig velkommen - - men det vil ikke omfatte nær så meget funktionalitet – vi blot at bygge en demo lære knebene test.,, men her er hvordan det stik af vil arbejde:,,, hvis brugeren navigerer på stedet fra google, vi giver et entydigt budskab,, hvis brugeren navigerer på stedet fra twitter, vi giver et entydigt budskab, vi ellers ikke viser noget, let nok, ikke?dette vil også skabe grundlaget for at tilføje skik beskeder til andre tjenester og udvide vores enhed afprøvning evner ønsker du at gøre det.,,, af miljøet, for at enheden teste vores kode, vi får brug for en tredjeparts bibliotek, at vi medtager i vores projekt, som rent faktisk vil gennemføre prøver vi at skrive.i denne serie, vi skal bruge phpunit.du kan få en kopi af det her, næste, er vi nødt til at forberede vores udvikling, miljø, slukker vores stik af, og omfatter de nødvendige biblioteker for at teste vores kodeks.denne artikel forudsætter, at du allerede har en funktionel wordpress anlæg op at køre. så lad os forberede stik af registret:,,,, /wp indhold /plugins, skabe en fortegnelse ringede, - - i det, - - læser, fortegnelse, skabe filen, plugin.php, og en fortegnelse, test, kan vi slukke den stik af, for at sikre, at wordpress er korrekt, at vores projekt, vi importerer den enhed, afprøvning, biblioteker, så vi kan begynde at skrive vores test, her er skelettet ved stik af, at vi vil skabe: /* stik af navn - "stik af uri: http://github.com/tommcfarlin/hello-reader beskrivelse: en enkelt enhed, der anvendes til at påvise stik af test i forbindelse med wordpress.version 1.0. forfatter: tom mcfarlin forfatter uri: http://tom.mcfarl.in forfatter e - mail: [email protected] kørekort: ophavsret 2012 tom mcfarlin ([email protected]). dette program er gratis software; man kan omfordele og /eller ændre det, inden for rammerne af den nationale samlingsregering i offentligheden, kørekort, 2. udgave, som blev offentliggjort af fri software - fonden.dette program er fordelt i det håb, at det vil være nyttigt, men uden nogen garanti, selv uden underforstående garantier for merchantability eller egnethed til et bestemt formål.se den nationale samlingsregering generelle offentlige licens for flere detaljer.du skulle have modtaget en kopi af den nationale samlingsregering generelle offentlige kørekort med dette program; hvis ikke, skrive til gratis software - instituttet, inc., 51, franklin st. femte sal, boston, mor 02110-1301 usa * /////////kun skabe et tilfælde af stik af, hvis det ikke allerede findes i globals hvis (!array_key_exists ("goddag" "$globals)) (klasse hello_reader {funktion __construct() {} //ende konstruktøren} //ende klasse //opbevares en henvisning til stik af i globals, således at vores enhed prøver, kan få adgang til det $globals ['hello-reader '] = nye hello_reader();} //hvis, på vi bør være i stand til at navigere på" plugins "i din wordpress instrumentbræt og se en post for" hej "." det er klart, at det stik af gør ikke noget endnu – skal vi fokusere på at (samt, hvorfor vi er at mobilisere de $globals, system) i den næste artikel.,, endelig, lad os før prøvning ramme, så vi bliver i stand til at skrive vores prøver.vi er nødt til at installere phpunit, og så bliver vi nødt til at installere wordpress test.,,, note: næste afsnit vil kræve, at lave noget med terminal og sandsynligvis vil kræve, at de spørgsmål, et par ordre til at skabe symbolske bånd.jeg har forsøgt at gøre det så enkelt og let som muligt, men hver virksomhed og sammensætning vil være anderledes.følg omhyggeligt, og jeg opfordrer dem til at dele deres instrukser til deres operationelle systemer i de bemærkninger, phpunit, installering, phpunit er en enhed test ramme pakke specifikt til folkesundhedsprogrammet.den wordpress test, og de rammer, som vi vil bruge til at skrive vores wordpress test afhænger af det.desværre, installation er baseret på din platform.jeg er i øjeblikket mac os x løve med mamp pro og folkesundhedsprogrammet 5.3.6.hvis du kører en anden platform, være sikker på, at henvise til den dokumentation og /eller føle sig fri til at dele dine skridt i de bemærkninger, først åbne en terminal., og ajourføre pærer (det er den facilitet, som vi kan bruge til at installere phpunit):,,, $cd /ansøgninger /mamp /bin /folkesundhedsprogrammet /php5.3.6 /bin... $sudo. /pærer opgradere pære,,, pålægge pære til at bruge samlinger, som vi vil præcisere i terminal:,,, $sudo /ansøgninger /mamp /bin /php /php5.3.6/bin/pear ud sat auto_discover 1,,, efter at installere pærer ved udstedelse af følgende kommando.,,, $sudo /ansøgninger /mamp /bin /php /php5.3.6/bin/pear installere pære. phpunit. de /phpunit,,, det vil installere phpunit inden for rammerne af deres mamp anlæg.til at afprøve den, løb følgende kommando i terminalen samling:,,, $/ansøgninger /mamp /bin /php /php5.3.6/bin/phpunit - version,,, hvorefter følgende budskab skal vises:,,, phpunit 3.6.11 af sebastian bergmann.,,,, note:, hvis du får en terminal fejl, der nævnes "unserialize()", så der er en uoverensstemmelse mellem den pære konfiguration og din version af pærer.for at løse spørgsmål følgende kommando (det renames filen skal man vil genoprette den senere):,,, $/ansøgninger /mamp /bin /php /php5.3.6/conf/pear.conf /ansøgninger /mamp /bin /php /php5.3.6 /conf /pærer. conf.old, installation af wordpress test, vi nu har phpunit installeret og fungerer, er det tid til at fælde den wordpress afprøvning rammer.du kan tag pakken fra github.hvis du er komfortabel kloning arkivet, så føl dig fri til at gøre det; ellers downloader et arkiv over projektet og udvinde det til test, bibliotek, der skabte vi tidligere i denne artikel,.,, før det faktisk gennemførelse af testene, bliver vi nødt til at skabe en fil for at løbe ud wordpress test.det er ligesom at redigere den, wp-config.php, fil med en ny wordpress installation, men vi gør det for en test database i stedet.nedenfor, jeg har klistret min konfiguration fil og har tilføjet bemærkninger.jeg vil være sikker på at forpligte denne til denne artikel er github register,.,, /* vej til wordpress codebase med hensyn til placeringen af disse test.da de indgår med vores stik af, vi henviser til en række fortegnelser over.* /definere ('abspath ",".. /.. /... /... /... /) /* navnet på databasen for gennemførelse af testene.sørge for, at dette er en database for afprøvning, som det er oprettet og ødelagt under prøvningen.* /definere ('db_name "," smid - væk -) /* den sædvanlige papirer for en lokal database.* /definere ('db_user "," rod "); at definere (' db_password", ""); at definere ('db_host "," localhost); at definere (' db_charset "," utf - 8); at definere ('db_collate "," "); at definere (' wplang", ""); at definere ('wp_debug, sande); at definere (' wp_debug_display, sande); at definere ('wp_tests_domain "," localhost); at definere (' wp_tests_email "," [email protected]); at definere ('wp_tests_title "," test blog) /* ikke bekymret for afprøvning af net eller underområder, - om fastsættelse for falske.* /definere ('wp_tests_network_title "," test - net); at definere (' wp_tests_subdomain_install, falske); $grundlag = '/' /* cron forsøger at gøre et http anmodning til blog, som altid mislykkes, fordi undersøgelser gennemføres i cli tilstand kun * /definere ('disable_wp_cron, sandt) /* heller ikke interesseret i test multisite til dette projekt, således at falske.* /definere ('wp_allow_multisite, falske); hvis (wp_allow_multisite) {definere (' wp_tests_blogs, første, andet, tredje, fjerde ');} hvis (wp_allow_multisite & &!defineret ('wp_installing ')) (definere (' subdomain_install, wp_tests_subdomain_install); at definere ('multisite, sande); at definere (' domain_current_site, wp_tests_domain); at definere ('path_current_site "," /"); at definere (' site_id_current_site ', 1); at definere (' blog_id_current_site ', 1)} $table_prefix = wp_ «, for at kontrollere, at du har anbragt den test ordentligt, kan du løbe følgende kommando i terminalen:,,, $/ansøgninger /mamp /bin /php /php5.3.6/bin/phpunit,,,, hvis du får en fejl, er det, fordi de wordpress test forsøger at brug en port til mysql database, snarere end den, der anvendes af mamp.at ordne det, er vi nødt til at skabe en symbolsk forbindelse fra mamp er port til det sted på diskette, at enhed prøver ved hjælp af.spørgsmål følgende kommandoer i terminalen samling:,, $sudo mkdir /var /mysql $sudo i - s /ansøgninger /mamp /tmp /mysql /mysql.sock /var /mysql /mysql.sock $sudo i - s /ansøgninger /mamp /tmp /mysql /mysql.sock /var /mysql /mysql.sock,,, forsøg på at køre testene igen, og du skal se noget som følgende skærmbillede.,,, igen, din kilometertal kan variere, baseret på den platform, som du så føle sig fri til at dele deres erfaringer i bemærkninger eller forpligte sig til at høre mig filen på github, så andre kan være et referencepunkt. på dette punkt er vi klar til at begynde at opbygge vores stik af og skrive vores enhed prøver.denne kode er blevet føjet til github og jeg skal bygge på det, som vi arbejder gennem den næste artikel i serien.i mellemtiden, sørg for, at du får dine omgivelser ", og at de er klar til at påbegynde udvikling.i den næste artikel, vil vi faktisk begynder at skrive test, bygge vores stik af, og at hele projektet kom sammen fra start til slut.,,, ressourcer,,, phpunit,, wordpress prøvninger, hallo - læseren,

Passing Tests



Previous:
Next Page: