Schnelles und einfaches JavaScript-Testen mit Assert

Vor Jahren habe ich eine täuschend einfache "Behauptung" gelernt? Funktion von John Resig zum Testen Ihres JavaScript. Erstaunlicherweise bietet dieser Code bei nur fünf oder sechs Zeilen beim Testen ein hohes Maß an Leistung und Kontrolle über Ihren Code. Ich zeige Ihnen, wie Sie es im heutigen Quick-Tipp für Videos verwenden können.


Full Screencast



"Assert" Code

     Einfache JavaScript-Prüfung     

    Das ist alles, was Sie für die meisten grundlegenden Tests benötigen! Die Assert-Funktion akzeptiert zwei Parameter:

    1. Ergebnis: Ein boolescher Wert, der angibt, ob Ihr Test erfolgreich war oder nicht
    2. Beschreibung: Eine kurze Beschreibung Ihres Tests.

    Das behaupten Die Funktion erstellt dann einfach ein Listenelement, wendet eine Klasse entweder „bestanden“ oder „nicht bestanden“ an, abhängig davon, ob Ihr Test wahr oder falsch zurückgegeben hat, und hängt dann die Beschreibung an das Listenelement an. Schließlich wird der codierte Block der Seite hinzugefügt. Es ist verrückt einfach, funktioniert aber perfekt.


    Test 1: Dein erstes Beispiel

     Funktion add (num1, num2) return num1 + num2;  var result = add (5, 20); assert (Ergebnis == 24, 'Addierfunktion prüfen'); // ODER-Assert (add (5, 20) == 24, 'Add-Funktion überprüfen');


    Test 2: Verschlüsse

     var someArray = [1,2,3,4,5], len = someArray.length, i = 0; var count = 0; für (; i < len; i++ )  setTimeout(function()  assert( count++ === i, 'Checking the value of: ' + i ); , i * 300); 
    Oh oh! Was ist passiert?

    Dies ist ein allgemeines Problem, und die Antwort ist, eine Schließung zu implementieren, damit wir uns an den Wert von "i" erinnern können. Andernfalls wird, wie oben erwähnt, der Code nur den endgültigen Wert in der folgenden Reihenfolge wiedergeben: 5.

     var someArray = [1,2,3,4,5], len = someArray.length, i = 0; var count = 0; für (; i < len; i++ ) (function(i)  setTimeout(function()  assert( count++ === i, 'Checking the value of: ' + i ); , i * 300); )(i);


    Fazit

    Auf den ersten Blick scheint es so, als würden nur große JavaScript-Bibliotheken und solche eine Form von Tests erfordern. Das ist jedoch weit von der Wahrheit entfernt. Wie wir gezeigt haben, kann uns sogar eine einfache Funktion, wie Resigs "Assert", möglicherweise vor stundenlangem Debugging bewahren! Also, was verwenden Sie persönlich, um Ihren Code zu testen??