Welkom terug.
Laten we nu doorgaan met onze eenheidstests.
Een ding dat me hier opviel, is dat wanneer we naar de documentatie kijken, we eigenlijk een insert hebben is instance.
Dus we kunnen eigenlijk, in plaats van te zeggen dat Asatru gewoon gebruikt, de bewering is instantie, die we
A en B opnieuw geven, al deze testmethoden, er is geen juiste.
U kunt elke gewenste tool gebruiken om uw code te verbeteren.
Dus in mijn geval, laten we dit gewoon veranderen om te beweren dat het een instantie is en dit oplossen.
Zoals dit, dus een beetje schoner, eens kijken of dit werkt, oké.
Alles is nog goed.
Oké, laten we proberen onze code opnieuw te kraken.
Dus alles ziet er goed uit.
Maar wat als we iets anders doen?
Wat als we, laten we zeggen, bij een andere test doen en we zeggen ook test dingen?
Meestal wil je deze functies een stuk beter benoemen.
Ze zijn dus meer beschrijvend.
Maar in ons geval is dit prima.
Zodat we kunnen zien hoe ze deze keer werken.
Laten we eens testen dat param gelijk gaat worden.
Wat dacht je van een geen?
Dus als ik dit nu uitvoer, laten we deze code opnieuw uitvoeren.
Trouwens, je merkt hier misschien hoe ik code kopieer in een test en je zou kunnen denken, kunnen
we dit gewoon eenvoudiger maken?
En onszelf niet herhalen.
En je kunt dat helemaal doen en dingen een stuk eenvoudiger maken.
Maar als het gaat om tests, omdat ze niet in productie gaan en dit alleen
voor ontwikkelingsdoeleinden is, wilt u echt tests hebben die gemakkelijk te lezen zijn, zodat andere mensen uw tests
begrijpen, want als het om testen gaat, is leesbaarheid is echt heel belangrijk.
We vinden het niet zo belangrijk om onszelf niet te herhalen en onze code efficiënt, mooi en klein te maken.
Dus ik hou van het schrijven van tests die echt beschrijvend zijn, echt voor de hand liggend.
Oké, laten we zeggen dat autodidact gelijk is en hmm, wat zou dit moeten zijn?
In dit geval verwacht ik een waardefout, dus laten we dit doen.
Ik verwacht dat het resultaat een waarde zal zijn die ik ga opslaan en mijn test zal uitvoeren.
Oké, ik krijg een foutmelding, er staat dat dit een typefout in het argument is, moet een string zijn.
En ik geef het een non-type.
Oké, dus dit gaat niet goed met de ENT omdat het gewoon niet werkt met de KNO, we krijgen
een typefout.
Dus hoe kunnen we dit oplossen?
Huckabee past het aan voor het geval we een niet-type in de parameter krijgen.
Laten we het eerst een standaardparameter geven, laten we zeggen dat de standaardparameter nul is als ik dit
uitvoer.
Nog een keer.
Ik krijg nog steeds lucht.
OK, dus we hebben het nog steeds niet opgelost.
Het argument moet streng zijn.
Een koopachtig object of een nee niet type?
Oké, dus we controleren nog steeds niet op het type oppas.
Dus een ander ding dat we kunnen doen is zeggen.
Als.
Nee.
Dus we controleren of we de getalswaarde hebben.
Want onthoud, dit wordt standaard true als het een soort van getallen of, nou ja, elke waarde heeft, maar als
het een niet-type is, wordt het van kracht.
Dus hier, zo nee, dan kunnen we zeggen dit terug te geven.
Anders, anders komen we terug.
Alsjeblieft.
Voer nummer in.
Dus ik ga dit zeggen en nu dit veranderen, want nu zouden we moeten verwachten, voer alstublieft het nummer in
mijn test in en ik ga zeggen gelijk stellen.
Dat resultaat.
Gaat worden, vul alstublieft nr in.
Als ik nu op mijn test was, laten we dit duidelijk maken.
Oh, het lijkt erop dat ik twee tests krijg in nul seconden, maar we hebben drie tests, en dat is omdat.
Je ziet hier dat ik de mijne hetzelfde noemde.
Onthoud, als je het ding hetzelfde noemt, wel, het zal er maar één van uitvoeren.
Zorg er dus voor dat alle testnamen uniek zijn.
Dus ik ga dit uitvoeren.
Oké, drie tests uitgevoerd en alles werkt goed.
Heel erg cool.
Dus je kunt hier zien hoe we van een heel eenvoudige functie gingen en we begonnen deze
fouten op te vangen en ons te realiseren dat onze functie te simplistisch was, dat als we een verkeerde invoer ontvingen.
Vind leuk.
Een string of een non-type?
Zodra we dat deden, mislukte onze functie.
Dus door tests te gebruiken en dingen te testen en te breken, kon ik deze functie verbeteren.
Het is dus duurzamer zodat het nu een stuk beter werkt in de productie.
Rechts.
En dit is de kracht van testen.
Het stelt ons in staat om te controleren op eventuele fouten die we hebben gemaakt, omdat we er in eerste instantie misschien niet
aan hadden gedacht om zoiets te doen.
Maar door naast onze code tests te schrijven, konden we de functie verbeteren.
Nu, een laatste ding dat ik wil toevoegen.
Laten we gewoon nog een van de tests toevoegen en zeggen dat dit dingen doet voor wat als de testparameter gewoon een
lege string is?
We moeten alsjeblieft een nummer invoeren, dus als ik dit uitvoer.
Oké, vier tests zijn geslaagd, dus het lijkt erop dat onze code goed werkt.
Nu, om hier af te ronden, wil ik nog een paar dingen opmerken.
Ik noem hier een eenheidstest op Maine, maar dit heeft niets te maken met de werkelijke.
Bestand.
Dat we schreven, wat het hoofdbestand is, laten we zeggen dat ik dit hernoem, dus laten we naar mijn bureaublad gaan.
En zeg, ik wil dit veranderen in.
Script, DCPI.
Laten we nu dit openen, mijn koffer met sublieme tekst.
Laten we hier teruggaan.
Dus je ziet hier dat betekent dat PI goed is niet meer bestaat.
Het vraagt me om te sparen.
Dit is dus een heel ander bestand.
Nu, als ik hier script doe en eenvoudig alle instanties in script verander.
Als ik dit opsla en nu ren.
Deze eenheidstest werkt nog steeds, zegt gewoon, hé, voer alle tests hier uit.
Nu, één ding, en dit is een gebruikelijke praktijk waar we het eerder over hebben gehad, is omdat
je wilt zeggen run dit najaar als dit het hoofdbestand is dat wordt uitgevoerd, omdat we niet echt Tessmann of iets dergelijks
willen importeren dit in andere bestanden.
Dit zijn individuele bestanden die alleen moeten worden uitgevoerd wanneer we onze tests uitvoeren.
Dus ik kan gewoon zeggen als underscore underscore naam.
Is gelijk aan.
Underscore, underscore, hoofd.
Voer vervolgens dit stukje code uit.
Dus als ik dit nu opsla en ren.
Daar ga je.
Alles werkt nog steeds, maar nu zorg ik ervoor dat dit een testbestand is en ik ga deze code alleen uitvoeren als
het het bestand is dat wordt uitgevoerd, als het het hoofdbestand is dat wordt uitgevoerd.
Dit is dus een standaard manier waarop u uw test zou laten doen met de unit-testmodule.
Laten we een pauze nemen en in de volgende video wat meer over tests praten.