Aureool Te Ontdoen JavaScript Testen

0
20

Veel mensen hebben messaged mij, in de war over waar te beginnen met testen. Net als alles in de software werken wij hard aan het bouwen van abstracties naar ons werk makkelijker maken. Maar dat bedrag van abstractie evolueert in de tijd, totdat de enigen zijn die echt begrijpen zijn degenen die de bouw van de abstractie in de eerste plaats. Iedereen is vertrokken met het nemen van de voorwaarden, Api ‘s en hulpprogramma’ s tegen de nominale waarde en moeite om dingen te laten werken.

Een ding geloof ik, over abstractie in de code is dat de abstractie is geen magie — code. Een ander ik wat ik geloof over abstractie in de code is dat het makkelijker is om te leren door het te doen.

Stel je voor dat een minder ervaren engineer die u benadert. Ze honger hebben om te leren, ze willen zeker zijn van hun code, en ze zijn klaar om te beginnen met testen. 👍 Ooit bereid om te leren van u, ze heb geschreven vaststelling van een lijst van termen, Api ‘ s en concepten die ze willen u bepalen wat voor hen:

  • Stelling
  • Test Framework
  • Het beschrijven van/het/beforeEach/afterEach/test functies
  • Bespot/Categorie:/Testen Dubbel/Spies
  • Eenheid/Integratie/End-to-End/Functioneel/Toegankelijkheid/Acceptatie/Handmatig testen

Dus…

Kon je ratelen uit definities voor dat startende engineer? Kunt u uitleggen wat het verschil is tussen een bewering bibliotheek en een test framework? Of zijn ze makkelijker te identificeren dan verklaren?

Hier is het punt. Hoe beter je inzicht in deze termen en abstracties, des te effectiever zal worden in het onderwijs. En als je ze iets kan leren, je zult meer effectief in het gebruik.

Voer een teach-een-engineer-to-vis moment. Wist u dat u kunt uw eigen bewering bibliotheek en het testen kader? We denken vaak van deze abstracties als buiten onze mogelijkheden, maar ze zijn het niet. Elk van de populaire bewering bibliotheken en frameworks begon met een enkele regel code, gevolgd door nog een en dan de ander. U hoeft hiervoor geen gereedschap nodig voor het schrijven van een eenvoudige test.

Hier is een voorbeeld:

const {bedrag} = (‘../wiskunde’)
const resultaat = som(3, 7)
const verwacht = 10
if (result !== verwachte) {
throw new Foutmelding(`${gevolg} is niet gelijk aan ${verwacht}`)
}

Zet dat in een module met de naam test.js en voer het uit met node test.js en, poef, kunt u beginnen met het krijgen ervan overtuigd dat de functie som van de math.js module werkt zoals verwacht. Zorg uitvoeren op CI en u kunt krijgen het vertrouwen dat het niet zal breken als er wijzigingen worden aangebracht aan de codebase. 🏆

Laten we eens kijken wat een mislukking uit zou zien als dit:

Terminal venster met een foutmelding waarin -4 is niet gelijk aan 10.

Dus kennelijk is onze functie som af te trekken in plaats van het toevoegen en we zijn in staat geweest om ze automatisch te detecteren die door dit script. Alles wat we nu moeten doen is vast te stellen van de functie som, het uitvoeren van onze test script opnieuw en:

Terminalvenster tonen dat we renden onze test script en geen fouten werden gelogd.

Fantastisch! Het script is afgesloten zonder een fout, dus we weten dat de functie sum werkt. Dit is de essentie van een test framework. Er is veel meer aan de hand (bijv. mooier foutmeldingen, betere stellingen, etc.), maar dit is een goed uitgangspunt om te begrijpen van de fundamenten.

Als u eenmaal begrijpt hoe de abstracties werk op een fundamenteel niveau, zult u waarschijnlijk wilt gebruiken, omdat ze, hey, die je net geleerd om te vissen en je kunt gaan vissen. En we hebben een aantal mooie fenomenale vissen polls, uh, gereedschappen beschikbaar zijn voor ons. Mijn favoriet is de Grap test platform. Het is ongelooflijk staat, compleet uitgerust en stelt me in staat om te schrijven van tests die geven mij het vertrouwen dat ik nodig heb om geen dingen breken als ik code wijzigen.

Ik voel me als de fundamenten zijn zo belangrijk dat ik een hele module over het op TestingJavaScript.com. Dit is de plek waar je kunt leren van de slimme, efficiënte manier om te testen op een JavaScript-applicatie. Ik ben echt blij met wat ik heb gemaakt voor je. Ik denk dat het zal helpen versnellen van uw begrip van het testen van instrumenten en abstracties door het geven u de kans om het implementeren van onderdelen van de grond af. De (hoopvol) resultaat? U kunt beginnen met het schrijven van de tests die worden onderhouden en gebouwd om zo vertrouwen in uw code, dag na dag. 🎣

De early bird verkoop is gebeurt er nu! 40% korting op elk tier! De verkoop gaat in de komende dagen, dus pak deze zo snel mogelijk!

TestingJavaScript.com – Leer de slimme, efficiënte manier om te testen op een JavaScript-applicatie.

P. S. als je dit proberen: Tweet wat is het verschil tussen een test framework en een bewering bibliotheek? In mijn cursus zal ik niet alleen uit te leggen, we bouwen ons eigen!