Presentazione del nuovo test YUI

9 Novembre 2010 alle 16:04 da Nicholas C. Zakas | In Sviluppo | 6 commenti

Quando YUI test prima ha debuttato tre anni fa, il paesaggio test JavaScript sembrava molto diverso. JsUnit è stato lo standard de facto e c'era ben poco interesse o attenzione per questo settore. YUI test era iniziato come un progetto mio e di week-end si è evoluto in uno dei framework di test più completa disponibile, essendo il primo ad avere simulazione completa di eventi per gli eventi della tastiera e del mouse in tutti i browser di grado A e uno dei primi a sostenere test asincrono.

Dal tempo che YUI test è stato rilasciato prima, c'è stato un aumento del livello di interesse nei test JavaScript come piccole e grandi organizzazioni è venuto a realizzare il suo valore. Ogni grande biblioteca JavaScript è ora in bundle con una serie di unit test e un test runner, che è un enorme passo avanti per queste librerie. Inoltre, una serie di utility di test si è fatto strada nel mondo del test JavaScript. Come risultato di questi cambiamenti, che era il momento per la prova di YUI ad evolversi.

Oggi stiamo annunciando un nuovo progetto di prova YUI . L'obiettivo è quello di creare una soluzione completa di test JavaScript che comprende tutte le parti del processo di test.

YUI test Biblioteca Standalone

Uno degli obiettivi originali di YUI test era quello di eliminare la maggior parte delle lamentele comuni sui test JavaScript. Nei miei viaggi, ho ricevuto un sacco di feedback positivi circa la facilità con cui i test potrebbe essere l'installazione. Ho anche ricevuto alcuni commenti da parte degli utenti di jQuery, Dojo, e librerie JavaScript altri che vorrebbero utilizzare test YUI, ma sentivo che non potevano perché non stavano usando YUI stesso. Anche se è possibile testare non YUI codice con YUI Test (Ecco un articolo che parla usando test YUI con jQuery ), c'era ancora la percezione che le dipendenze YUI significato è necessario utilizzare YUI se si desidera utilizzare test YUI. Considerando che il feedback, in aggiunta alla tendenza verso standalone strumenti di test JavaScript, sembrava che il modo migliore per affrontare i problemi era quello di eliminare YUI come dipendenza del tutto. Con questo pensiero, la libreria di test YUI autonomo è nato.

Il standalone biblioteca è un superset di tutte le funzioni di YUI prova per YUI 2.x e YUI prova per YUI 3.x. Questo sarà quindi ci permette di utilizzare la libreria standalone come il nucleo di entrambe le versioni di prova YUI. Alla fine, ci sarà ufficialmente tre tipi di test YUI da usare: 1) la libreria autonoma, se non stai usando YUI, 2) la versione 2.x YUI, e 3) la versione 3.x YUI. Tutti e tre si divideranno le funzionalità esattamente lo stesso ma con diverse interfacce in modo che i test già esistenti continueranno a funzionare.

YUI test driver Selenio

Un altro importante cambiamento che è successo in questi ultimi anni è stato un movimento continuo verso l'integrazione e test automatici. Per qualsiasi base di codice di grandi dimensioni, la capacità di eseguire automaticamente i test a intervalli regolari è un must-have. La grande sfida per i test JavaScript è sempre stato come gestire il vostro codice nei browser maggior numero possibile e aggregare i risultati in una sorta di formato utilizzabile. Qui è dove Selenio entra in gioco

Il selenio è uno strumento di test ampiamente utilizzato da organizzazioni di QA per i test funzionali. La parte interessante di selenio, come si riferisce a JavaScript test è la sua capacità di avviare un browser, eseguire alcuni comandi, e poi chiudere il browser. Questa capacità, più l'utilizzo già impressionante Selenio e la disponibilità nelle organizzazioni, ha reso uno strumento ideale su cui costruire il primo pilota di test per la prova di YUI.

Il test driver YUI selenio è stato progettato per interagire con un telecomando Selenio di controllo o server di rete selenio per permettere test di JavaScript su più browser. Utilizzo della riga di comando, è possibile specificare un server Selenio, browser per eseguire test su, e che i file di test da eseguire. Il driver Selenio subentra, l'esecuzione del test e raccogliendo i risultati in JUnit formato XML. Anche se sono disponibili altri formati, JUnit XML è utilizzato come predefinito grazie al suo ampio supporto nella segnalazione di prova e continuo strumenti di compilazione, come Hudson .

YUI Test di copertura

Una volta che avete i vostri test e sono in grado di eseguire in modo automatico, la parte successiva del puzzle è quello di determinare la quantità di codice è in realtà in fase di test. YUI copertura di test è uno strumento di copertura di codice JavaScript che rileva che le linee di codice e quali funzioni sono in realtà eseguito nel tuo JavaScript. Lo fa con la creazione di una versione strumentata del codice JavaScript che mantiene le statistiche di copertura. Questo file viene utilizzato durante l'esecuzione di test per raccogliere dati statistici, e alla fine, si ha un rapporto che indica che le linee di codice sono stati giustiziati. Dati di copertura aiuta a determinare dove più test sono necessari per esercitare correttamente tutti i percorsi del codice.

La copertura del test YUI è progettato principalmente per l'utilizzo in un sistema di integrazione continua, anche se è possibile ottenere l'accesso ai dati di copertura di programmazione pure. La copertura del test YUI è anche progettato per funzionare con il driver YUI test di selenio in modo che le statistiche copertura del codice vengono automaticamente raccolti quando disponibili.

Aiutateci!

Questa versione del progetto di prova è considerato YUI 1.0.0 beta 1, il che significa che abbiamo bisogno del vostro aiuto e feedback per raggiungere una finale versione 1.0.0. Il codice sorgente di tutti del progetto di prova YUI è ora disponibile su GitHub e potete trovare i dettagli del progetto e bug file a YUILibrary.com . Documentazione per lo strumento test è in YUILibrary.com , e troverete ulteriore documentazione ed esempi in il download . YUI prova è rilasciato sotto licenza BSD YUI .

Ci sono un sacco di dettagli per discutere sul nuovo progetto, e questo post è in realtà solo una introduzione al nuovo progetto. Una documentazione molto di più e informazioni è imminente in quanto il progetto continua ad evolversi.

Condividere ed estendere: Bookmark with del.icio.us | Digg it! | reddit!

6 commenti

  1. Bel lavoro di Nicholas! In attesa di avere uno sguardo più attento. Separare il framework di test da YUI sembra una buona idea.

    Commento di Christian - 10 nov 2010 #

  2. Sembra promettente, ma se si vuole che sia usato su non YUI progetti penso che hai bisogno di ri-brand. "YUITest" dà l'impressione che sia per YUI anche se non ha alcuna dipendenza formale su di esso.

    Inoltre, può essere fonte di confusione per avere 3 versioni della libreria di dover scegliere.

    Commento di Gabe Moothart - 11 novembre 2010 #

  3. Ciao Gabe,

    Grazie per il feedback. Sono d'accordo ci possono essere ancora una certa confusione intorno denominazione, che è il motivo per l'evangelizzazione sarà importante. Noterete ci sono altri strumenti sotto l'ombrello YUI che anche non richiedono la libreria YUI, come YUI Doc e YUI Compressor. YUI Test è ancora parte della famiglia YUI, come sono questi altri strumenti.

    Le tre versioni sono veramente per la compatibilità all'indietro con i test esistenti. Mi piacerebbe a tutti di standardizzare con una sola, ma voglio anche fare in modo che tutti coloro che utilizzano le versioni precedenti sono ancora supportati. La mia impressione è che la maggior parte YUI3 utenti utilizzeranno il sapore YUI3, e la libreria autonoma si rivolge a coloro che non utilizzano YUI.

    Commento di Nicholas C. Zakas - 12 Novembre 2010 #

  4. Notizie awesome!

    Io non vedo l'ora di iniziare a correre il mio test esistenti contro il servizio Saucelabs OnDemand con il driver Selenio - questo sarà un beneficio reale su esecuzione di unit test senza testa solo in Rhino.

    Commento di Liam Clancy (metafeather) - Nov 15, 2010 #

  5. Ciao Nicola,
    Lei ha detto che ci saranno 3 nuovi sapori della YUI test biblioteca, 1) yui 2.x 2) yui 3.x e 3) se non si usa YUI.
    Ho trovato il download della versione beta di biblioteca in biblioteca yui, che sapore è la versione beta 1), 2) o 3) come già detto, sto usando yui 2 e desidera confermare se questa versione beta è un bene per yui 2.
    Anche ciò che i tempi previsti per la versione finale 1.0.0.
    per quanto riguarda

    Commento di kaanta - 8 DICEMBRE 2010 #

  6. Ciao Kaanta,

    1.0.0 è per la versione stand-alone. È possibile utilizzare questa versione con qualsiasi codice che si desidera testare.

    La versione definitiva della 1.0.0 uscirà verso la fine del Q1 2011, in funzione soprattutto del feedback e segnalazioni di bug.

    Una volta che la versione finale di 1.0.0 è fuori, il YUI2 e YUI3 versioni saranno aggiornate per utilizzare questo nucleo.

    Commento di Nicola Zakas C. - 9 Dicembre 2010 #

Al momento l'inserimento di commenti non è in questo momento.

Ospitato da Yahoo!

Copyright © 2006-2011 Yahoo! Inc. Tutti i diritti riservati. Privacy Policy - Termini del Servizio

Powered by WordPress su Yahoo! Web Hosting .