Testare JavaScript rapidă și ușoară cu Assert

Cu ani în urmă, am învățat o afirmație simplă "afirmă"? funcție de la John Resig, pentru testarea JavaScript. Uimitor, la doar cinci sau șase rânduri, acest cod oferă un nivel ridicat de putere și control asupra codului dvs., atunci când se testează. Îți arăt cum să-l folosești în sfatul video de astăzi.


Full Screencast



Codul "Assert"

     Testare ușoară în JavaScript     

    Asta e tot ce ai nevoie pentru cele mai multe teste de bază! Funcția assert acceptă doi parametri:

    1. rezultat: Un boolean, care menționează dacă testul dvs. a trecut sau nu a reușit
    2. Descriere: O scurtă descriere a testului.

    afirma funcția creează pur și simplu un element de listă, aplică o clasă de "pass" sau "fail", în funcție de faptul dacă testul dvs. a revenit la true sau false și apoi adaugă descrierea la elementul listă. În cele din urmă, acel bloc de codat este adăugat la pagină. Este nebun simplu, dar funcționează perfect.


    Testarea 1: Primul dvs. exemplu

     funcția add (num1, num2) return num1 + num2;  var rezultat = adăugați (5, 20); afirmați (rezultat == 24, 'Verificarea funcției de adăugare'); // OR afirmați (adăugați (5, 20) == 24, "Verificarea funcției de adăugare");


    Testarea 2: închideri

     var someArray = [1,2,3,4,5], len = someArray.length, i = 0; numărul var = 0; pentru (i < len; i++ )  setTimeout(function()  assert( count++ === i, 'Checking the value of: ' + i ); , i * 300); 
    Uh oh! Ce s-a întâmplat?

    Aceasta este o problemă comună, iar răspunsul este să punem în aplicare o închidere, astfel încât să ne putem aminti valoarea "i". În caz contrar, așa cum am observat mai sus, codul va reda numai valoarea finală din secvență: 5.

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


    Concluzie

    La început, s-ar putea să apară ca și cum ar fi doar bibliotecile JavaScript uriașe și acestea necesită o formă de testare; totuși, asta e departe de adevăr. După cum am arătat, chiar și o funcție simplă, cum ar fi "afirmarea" lui Resig, ne poate salva de la ore de depanare! Deci, ce folosiți personal pentru a vă testa codul?

    Cod