En hamcrest

testen, testen hamcrest,,,,,,,,,, uitwisseling van aandelen, 13,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, hamcrest is een groep met meer code geschreven.Toevallig is deze match is vooral nuttig voor te schrijven wanneer de te testen.In dit artikel, en we zullen zien hamcrest PHP.,,,, wat is hamcrest?,, hamcrest met je helpen met het schrijven van elke test, lezen, heel natuurlijk. Hamcret prestaties, afkomstig van jMock, maar tot assertthat () unieke, bovendien is het een onafhankelijke bank en onafhankelijke tests in het kader van de methoden voor het gebruik, de eerste na de vaststelling van hamcrest Java, de taal van de programmering worden een aantal misschien.Kader voor het testen van rspec, enz. [], de uitvoering van de nationale hamcrest grammatica, niet langer nodig expliciet een bibliotheek.Als gevolg van hamcret snel door, het testen van kader worden ingedeeld als volgt:,, de eerste generatie, het testen van kader essentieel is, is er een gelden (), het gebruik van een soortgelijke methode: de bewering van (x = = Y).De programmeurs zijn moeilijk en schriftelijke uitdrukking georganiseerde test.Het moet ook de programmering van de kennis van en het inzicht van de voorwaarden om de meer complexe schrijven moeilijker,.,, de tweede generatie, het testen van kader, zoals phpunit, te voorzien in een reeks verschillende beweringen.In het kader van de actie of de winning van gronden (x = = Y): van de voorstellen, zoals de naam (dollar, dat de verwachte, echte dollar).Dit maakt de test meer expressief, maakt het gemakkelijk te bepalen. De beweringen van de derde generatie,.,, het testen van het gebruik van een enkel kader voor de beweringen (, assertthat ()) in de uitdrukking overeen met de bewering van de Engels lezen, vind een zin: calculatedresult dollar (USD (gelijk is Aan de verwachte)), integendeel, dat het effect van (dollar van de verwachte effecten, calculatedresult), en met hamcrest, de overeenkomst kan ook op andere manieren helpen, kan je je gewoonte met en het gebruik van hun interne, assertthat (), functioneren.Voor meer informatie hamcret ook fout.En niet als "de verwachtingen zijn niet de juiste" een onbeduidende boodschap, maar dat hamcrest fouten bij het testen van alle waarden, de verwachte waarde en de werkelijke waarde.Met de bewering dat de flexibiliteit ook, dus na de mislukking van de test niet met enkele kleine aanpassingen mogen niet destructieve testen.Met andere woorden, de kwetsbaarheid van de test is sterker. Hamcrest PHP, installatie, installatie, een hamcrest methoden.De meest voorkomende heeft betrekking op het gebruik van peer of te downloaden van de bron.Bij het opstellen van dit hamcrest PHP, is niet door de componist, hamcrest met peer en het gebruik van de installatie.Alleen de volgende opdracht: hamcrest.googlecode.com/svn/pear peer en de installatie van hamcrest /hamcrest ravijn gevonden, om ervoor te zorgen dat de installatie van MAP heb je peren op je pad.Dit kan gemakkelijk worden opgenomen in de hamcrest je testen, download bron, kan je de pagina 's van het project te downloaden van de nieuwe versie, hamcrest gebruiken het als een derde partij PHP bibliotheek.,, onze eerste test, laten we ervoor zorgen dat we een skelet hamcrest test kunnen werken.Het creëren van een project, je favoriete ide of code redacteur, het creëren van een test van documenten.Ik ben een kenmerken en in een "test als een van de belangrijkste dossiers een nieuw project.In deze folder is een leeg dossier zegt dat hamcrestmatchersforphptest. Php.Dit is het dossier van de testen, luidt als volgt: "hamcrest, require_once /hamcrest. Php; uitbreiding van de functie van hamcrestmatchersforphptest phpunit_framework_testcase {testhamcrestworks () {(" A ", dat is (gelijk aan (a));}}, de eerste regel van de bibliotheek, met inbegrip van hamcrest.Let op, het is een map met kapitaal "uur" en de naam.Hamcrest officiële 's dossier bevat een typefout, is de volgende stap, onze enige test, testhamcrestworks (), dat gelijk is aan een, een,,,.Dit is duidelijk een test, het eerste voorbeeld is natuurlijk te lezen.De bewering dat een "betekent" één ".Het is bijna niet uit te leggen, maar dat het gebruik van methoden, zullen we in ons onderzoek, assertthat ().Die is alleen de grammatica, (), suiker; het naast de oprichting van je zinnen.De laatste Match, equalto (), in vergelijking met het eerste argument, assertthat (), de waarde van de voorziening, equalto ().De effectieve omzetting van deze test, a = = "",,,, de vergelijking van de cijfers, laten we beginnen met een eenvoudig voorbeeld: de functie van testnumbers, () {voorgesteld (2, gelijk aan (2); (2) is van mening dat minder dan (3); (3) is van mening dat een meer dan (2), (de); 2, is (en) (2); (2) ingediend, comparesequalto (2); (2) is van mening dat de (bijna 3, 1); (2) is van mening dat de (niet (3));}, schrijf je je maat met en het gebruik van hun in assertthat (,), de functie van deze code ingevoerd.,, nieuwe overeen; 2), lessthan (,,, greaterthan ().Deze match is gelijkgesteld met "<" en ">" in vergelijking met de exploitant.,, identicalto () en gelijke kansen om een andere middelen te controleren.In feite, dit is voor gelijkwaardige, = = =, exploitanten en equalto () = =,,,.In dit deel van de code in een nieuwe Match, comparesequalto (), de effectieve tenuitvoerlegging van het equivalent te zijn.($$).In dit deel van de code, en X - en Y -,,, is de waarde, 2, (dus de test), een van de meest interessante match, closeto ().Het aanvaarden van twee parameters: de doelstellingen en de verschillen in waarde te zijn.In deze gevallen te controleren, als, 2, 3, is dichtbij, met een maximum van 1.Het is toch duidelijk, en is van mening dat het de laatste is, in combinatie met een eenvoudige ontkenning, ().Dit is blijkbaar van mening dat 2, 3, niet samen, en de hoeveelheid die, hamcrest biedt ook Match, gelijk aan, < = = = = = = = >,,, in vergelijking met de exploitant.Ze is een echte, lessthanorequalto () () greaterthanorequalto,,,,, dat hun functie: testnumberscomposed () {voorgesteld (2, lessthanorequalto (2); (2) is van mening dat de lessthanorequalto (3); (3) is van mening dat de greaterthanorequalto (3); (3) is van mening dat de greaterthanorequalto (2) (2); is van mening dat is (maximaal) (2); (2) is van mening dat de (tot een maximum van (3)); (3) is van mening dat (ten minste (3)); (3) is van mening dat (Ten minste (2));}, hamcrest biedt ook, atmost (), (), ten minste, een apparaat.Atmost () (), lessthanorequalto,,, die voor dezelfde zijn.Ze hebben gelijk, $.Natuurlijk, ik greaterthanorequalto () (), de uitvoering van inspecties, in plaats van,,,, X - element > = Y element,,,,, met het touw, hamcrest biedt ook gebruikt voor de behandeling van een string aan.Hier zijn een paar voorbeelden:, de functie teststrings () {voorgesteld (dit touw, gelijk aan het touw ")); is van mening dat het touw, equaltoignoringcase ("... ")); is van mening dat het touw, equaltoignoringwhitespace (deze string") ("); ///////string", dat de equaltoignoringwhitespace ('thisstring ")) (deze reeks"; is van mening dat, dit met een touwtje ")); is van mening dat het touw van ('th"); stelt het touw, EndsWith (Beijing)); is van mening dat dit touw ", containsstring ('str") ("); is van mening dat dit touw, containsstringignoringcase ('str")) het touw,; stelt matchespattern (/^ de * * * * * * * ");}, beveel ik je meer expressief met zoveel mogelijk, natuurlijk,..., equalto (),,,, identicalto (), overeen met touwtjes, en hun gedrag is precies wat je verwacht ze.Maar zoals je kan zien, hamcrest om met de andere reeks concrete gelijke.Zoals de naam al aangeeft, equaltoignoringwhitespace () (), equaltoignoringcase, die overeenkomen met de omvang van de string, genegeerd en een ruimte van, respectievelijk, de afstemming van de andere. Startswith, zoals endswith () (),,,, controleer het touw in het begin en het einde van de touwtjes in handen.(de), containsstring die controles, als het met een touw om.En containsstring (), die ook kan worden uitgebreid, containsstringignoringcase (), zaak niet gevoelig, verhoging van matchespattern ().,,, de uitdrukking in touw zoeken.Je kan een gewone uitdrukking, en in veel gevallen, de oplossing in een complexe reeks noodzakelijk is.In ieder geval, ik beveel je meer expressief met alleen mogelijk gebruik te maken van de gewone uitdrukking, als absoluut noodzakelijk; dit zal je de code die leesbaarder en met lege string, als voor het testen van een touw is leeg, het is normaal.Hamcrest heeft je gedekt, teststringemptiness () {verklaard ('"isemptystring ()); stelt ('" emptystring ()); stelt ('"isemptyornullstring ()); stelt (nietig, isemptyornullstring ()); stelt ('" nulloremptystring ()); stelt (nietig, nulloremptystring ()); het touw, een isnonemptystring ()); stelt het touw, nonemptystring ());}, ja, er zijn veel wedstrijd kijken of het touw is leeg.Elke versie van een "ja" versie.In feite, emptystring () (), en isemptystring, zijn dezelfde die ook van toepassing zijn op de andere Match.Isnonemptystring () (), nonemptystring,,, de overeenkomst kan ook als deze: ("hangen", verklaarde, niet (isemptystring () ()); is van mening dat deze reeks "is (niet (emptystring () ())); is van mening dat deze string" is (nonemptystring ()), natuurlijk. Deze variant, extra last die op het eerste gezicht, het begrip van de code nog moeilijker.,, met inbegrip van en uitgesloten, dit is vast te stellen of een variabele behoort tot een groep van enkele goede methoden, de functie van een testinclusionsexclusions () {('val ", is dat hetzelfde (" ("," de lijst "," "val"); een ('val "is (geen [er is geen", "", "echte", "waarde"))); is van mening dat het touw, twee (containsstring ("") - > en (containsstring ('String'kont)));Ertthat (dit touw, of (containsstring ("')) - > of (containsstring (" "))); is van mening dat (een waarde, touw of object, is (iets ());}, deze voorbeelden van het gebruik van een string, kun je deze komt overeen met de variabele object generator, digitale, enz.,,, noneof anyof () (), die bepalen of de verwachte variabelen die verblijven in de lijst van waarden, de andere twee overeen, zowel () (),,,,., gebruikte, andalso () (), orelse, wijziging van de agent.Deze zijn gelijkwaardig, verklaarde: ((deze code (dit touw "," dit ").= = = = = = = vals) & & (deze code ("akkoord", "akkoord").= = = = = = = vals); ((deze code (dit touw dat "," dit ").= = = = = = = vals)



Previous:
Next Page: