Entmystifizierung Der JavaScript-Prüfung

0
22

Viele Menschen haben messaged mich, verwirrt darüber, wo, um loszulegen mit dem testen. Wie alles andere in software, wir arbeiten hart für den Aufbau Abstraktionen, um unsere Arbeit einfacher. Aber, die Höhe der Abstraktion entwickelt sich im Laufe der Zeit, bis die einzigen, die wirklich verstehen, es sind diejenigen, die gebaut, die Abstraktion in den ersten Platz. Alle anderen bleiben unter den Bedingungen, APIs und Werkzeuge zum Nennwert und zu kämpfen, um die Dinge funktionieren.

Eine Sache, die ich glaube, über Abstraktion im code ist, dass die Abstraktion ist keine Magie — es ist code. Ein anderes ich, was ich glaube, über Abstraktion im code ist, dass es einfacher ist, durch tun zu lernen.

Vorstellen, dass ein weniger erfahrener Ingenieur auf Sie zukommt. Sie sind hungrig, um zu lernen, möchten Sie sicher sein, in Ihrem code, und Sie sind bereit zu prüfen zu beginnen. 👍 Immer bereit, von Ihnen zu lernen, das Sie geschrieben haben unten eine Liste von Begriffen, APIs und Konzepten, die Sie möchten, dass Sie definieren für Sie:

  • Behauptung
  • Test-Framework
  • Das beschreiben/es/beforeEach/afterEach/test-Funktionen
  • Mocks/Stubs/Test-Doubles/Spione
  • Unit – /Integration – /Ende-zu – /Funktions – /Zugänglichkeit/Akzeptanz/Manuellen Tests

So…

Könnten Sie rattern Definitionen für die angehenden Ingenieur? Können Sie erklären, den Unterschied zwischen einer Behauptung Bibliothek und ein Test-framework? Oder sind Sie für Sie einfacher zu identifizieren, als zu erklären?

Hier ist der Punkt. Je besser Sie verstehen diese Begriffe und Abstraktionen, desto effektiver werden Sie bei der Lehre. Und wenn Sie können Sie lehren, werden Sie effektiver mit Ihnen, auch.

Geben Sie ein teach-in-ein-Ingenieur-zu-Fisch-moment. Wussten Sie, dass Sie können schreiben Sie Ihre eigene Behauptung Bibliothek und Test-Frameworks? Wir denken oft an diese Abstraktionen, die jenseits unserer Fähigkeiten, aber Sie sind es nicht. Jede der populären Behauptung, Bibliotheken und frameworks begann mit einer einzigen code-Zeile, gefolgt von einer weiteren und dann noch einen. Sie brauchen keine Werkzeuge zu schreiben, einen einfachen test.

Hier ein Beispiel:

const {sum} = require(‘../Mathe -‘)
const result = Summe(3, 7)
const erwartet = 10
if (Ergebnis !== expected) {
throw new Error(`${Ergebnis} ist nicht gleich ${erwartet}`)
}

Das in ein Modul namens test.js und führen Sie es mit Knoten test.js und, Puff, können Sie anfangen, zuversichtlich, dass die Summe-Funktion aus dem math.js Modul funktioniert wie erwartet. Machen, dass CI und erhalten Sie die Gewissheit, dass es nicht brechen wird, wie änderungen an der codebase. 🏆

Mal sehen, was ein Misserfolg Aussehen würde:

Terminal-Fenster mit einer Fehlermeldung, die angibt -4 ist nicht gleich 10.

So anscheinend unsere sum-Funktion ist Subtraktion statt addition und die haben wir in der Lage automatisch zu erkennen, dass durch dieses Skript. Alles, was wir jetzt tun müssen, ist befestigen Sie die sum-Funktion, laufen unsere test-Skript wieder und:

Terminal-Fenster zeigen, dass wir liefen unsere test-Skript und es wurden keine Fehler protokolliert.

Fantastisch! Das Skript beendet, ohne dass ein Fehler Auftritt, so wissen wir, dass die sum-Funktion funktioniert. Dies ist die Essenz eines Test-Frameworks. Es gibt eine Menge mehr (z.B. schönere Fehlermeldungen, besser Behauptungen, etc.), aber dies ist ein guter Ausgangspunkt, um zu verstehen, die Grundlagen.

Wenn Sie verstehen, wie die Abstraktion der Arbeit auf einer grundlegenden Ebene, werden Sie wahrscheinlich wollen, um Sie zu benutzen, weil, hey, die Sie gerade gelernt, zu Fischen und jetzt können Sie Angeln gehen. Und wir haben einige ziemlich phänomenal Angeln Umfragen, äh, Werkzeuge uns zur Verfügung stehen. Mein Favorit ist der Scherz testing-Plattform. Es ist erstaunlich fähig, komplett ausgestattet und ermöglicht es mir, zu schreiben tests, die mir das Vertrauen schenken, die ich brauche, um nicht zu brechen die Dinge, wie ich den code ändern.

Ich fühle mich wie Grundlagen so wichtig sind, dass ich ein ganzes Modul auf TestingJavaScript.com. Dies ist der Ort, wo man lernen kann, die intelligente, effiziente Methode zum testen von JavaScript-Anwendung. Ich bin wirklich glücklich mit dem, was ich geschaffen habe für Sie. Ich denke, es wird helfen, beschleunigen Sie Ihr Verständnis von Test-tools und Abstraktionen, indem wir Ihnen die chance, Teile zu implementieren, von Grund auf. Die (hoffnungsvolle) Ergebnis? Sie können zu schreiben beginnen, tests wartbar und gebaut, um zu vermitteln Vertrauen in Ihre code-Tag für Tag. 🎣

Der frühe Vogel Verkauf ist Los jetzt! 40% Rabatt auf jedes tier! Der Verkauf geht in den nächsten Tagen, so greifen Sie diese so schnell wie möglich!

TestingJavaScript.com – Lernen Sie die intelligente, effiziente Methode zum testen von JavaScript-Anwendung.

P. S. Geben diesem einen Versuch: Tweet was ist der Unterschied zwischen einem Rahmenwerk und einer assertion-Bibliothek? In meinem Kurs werde ich nicht nur erklären, wir bauen unsere eigenen!