Apresentando o teste YUI Nova

09 de novembro de 2010 às 16:04 por Nicholas C. Zakas | Em Desenvolvimento | 6 Comentários

Quando YUI Teste estreou há três anos, a paisagem testes JavaScript parecia muito diferente. JsUnit foi o padrão de fato e não havia muito pouco interesse ou atenção a esta área. Teste YUI começou como um projeto final de semana meu e evoluiu para um dos frameworks de testes mais completa disponível, sendo a primeira a ter simulação de eventos completa para teclado e mouse eventos em todos os navegadores de grau e um dos primeiros a apoiar os testes assíncrono.

Desde o tempo em que YUI teste foi lançado pela primeira vez, houve um aumento do nível de interesse em testar JavaScript como pequenas e grandes organizações se deram conta de seu valor. Todas as bibliotecas JavaScript maiores agora vem com um conjunto de testes de unidade, bem como um corredor de teste, que é um enorme passo em frente para essas bibliotecas. Além disso, uma série de utilitários de teste fez o seu caminho no mundo dos testes de JavaScript. Como resultado dessas mudanças, que era hora de YUI Teste para evoluir.

Hoje estamos anunciando um novo projeto de teste YUI . O objetivo é criar uma solução completa de teste de JavaScript que engloba todas as partes do processo de teste.

YUI Biblioteca Standalone Teste

Um dos objetivos originais da YUI teste foi para eliminar a maioria das queixas mais comuns sobre o teste de JavaScript. Em minhas viagens, eu recebi um monte de comentários positivos sobre a facilidade com que os ensaios poderiam ser configuração. Eu também recebi alguns comentários de usuários de jQuery, Dojo, e outras bibliotecas JavaScript que gostaria de usar teste YUI, mas senti que não poderia porque eles não estavam usando YUI si. Mesmo que seja possível testar não YUI código com YUI Test (aqui está um artigo falando sobre o uso do teste YUI com jQuery ), ainda havia uma percepção de que YUI dependências significava que você deve usar YUI se você quiser usar Teste YUI. Considerando que o feedback, além de a tendência para ferramentas de teste independente JavaScript, parecia que a melhor maneira de abordar as preocupações era eliminar YUI como uma dependência completamente. Com esse pensamento, a biblioteca YUI standalone Teste nasceu.

O autônomo biblioteca é um superconjunto de todos os recursos de teste para YUI YUI YUI 2.xe Teste para YUI 3.x. Este, então, permitir-nos usar a biblioteca standalone como o núcleo de ambas as versões de teste YUI. No final, não será oficialmente três sabores de Teste YUI de usar: 1) a biblioteca independente se você não estiver usando YUI, 2) a YUI versão 2.x, e 3) a versão 3.x YUI. Todos os três irão compartilhar a funcionalidade exatamente o mesmo, mas com interfaces diferentes para que os testes já existentes continuarão a funcionar.

YUI Driver Test Selenium

Outra grande mudança que aconteceu no últimos anos foi um movimento no sentido da integração contínua e testes automatizados. Para qualquer base de código grande, a capacidade de executar automaticamente os testes em intervalos regulares é um must-have. O grande desafio para testar JavaScript sempre foi como executar o seu código nos navegadores o maior número possível e agregar os resultados em algum tipo de formato utilizável. Este é o lugar onde Selenium vem dentro

O selênio é uma ferramenta de teste amplamente utilizado por organizações de QA para testes funcionais. A parte interessante da Selenium no que se refere aos testes de JavaScript é a sua capacidade para iniciar um navegador, executar alguns comandos, e, em seguida, fechar o navegador. Esta capacidade, além de uso já impressionante Selenium e disponibilidade nas organizações, fez dele uma ferramenta ideal sobre a qual construir o driver primeiro teste para teste YUI.

O YUI Driver Test Selenium foi desenvolvido para interagir com um remoto controle ou servidor Selenium Selenium grade para permitir o teste de JavaScript em vários navegadores. Usando a linha de comando, você pode especificar um servidor Selenium, browsers para executar testes, e os arquivos que teste a ser executado. O Driver Selenium assume então, executar os testes e recolher os resultados em JUnit formato XML. Embora outros formatos disponíveis, JUnit XML é usado como padrão, devido à sua grande apoio em relatórios de testes e ferramentas de construção contínua, como Hudson .

YUI Cobertura de Teste

Depois de ter os seus testes e são capazes de executá-los automaticamente, a próxima parte do quebra-cabeça é determinar o quanto do seu código está sendo realmente testado. YUI cobertura de teste é uma ferramenta de cobertura de código para JavaScript que controla quais linhas de código e que funções são realmente executados na sua JavaScript. Ele faz isso através da criação de uma versão instrumentada do seu código JavaScript que mantém estatísticas de cobertura. Este arquivo é usado durante a execução de testes para reunir estatísticas, e no final, você tem um relatório indicando quais linhas de código foram executados. Dados de cobertura ajuda a determinar onde mais testes são necessários para exercer adequadamente todos os caminhos de código.

YUI cobertura de teste é projetado principalmente para uso em um sistema de integração contínua, embora você possa ter acesso aos dados de cobertura de programação também. YUI Cobertura de Teste também é projetado para trabalhar com YUI driver Selenium teste para que as estatísticas de cobertura de código são automaticamente coletadas quando disponível.

Ajude-nos!

Esta versão do projeto de teste é considerado YUI 1.0.0 beta 1, o que significa que precisamos de sua ajuda e feedback para chegar a uma versão 1.0.0 final. O código fonte para todo o projeto de teste YUI já está disponível no GitHub e você pode encontrar detalhes do projeto e bugs arquivo em YUILibrary.com . Documentação para a ferramenta de teste está em YUILibrary.com , e você vai encontrar documentação adicional e exemplos o download . YUI teste é lançado sob a licença BSD YUI .

Há um monte de detalhes para discutir sobre o novo projeto, e este post é apenas uma introdução para o novo projeto. A documentação e as informações muito mais está por vir como o projeto continua a evoluir.

Compartilhar e ampliar: Bookmark with del.icio.us | digg it! | reddit!

6 Comentários

  1. Bom trabalho Nicholas! Ansiosos para ter um olhar mais atento. Separar a estrutura de teste de YUI parece ser uma boa idéia.

    Comentário por Christian - 10 de novembro de 2010 #

  2. Parece promissor, mas se você quer que ele seja usado em não-YUI projetos que eu acho que você precisa re-marca-lo. "YUITest" dá a impressão de que é para YUI mesmo que ele não tem qualquer dependência formal sobre isso.

    Também pode ser confuso ter três versões da biblioteca ter que escolher.

    Comentário por Gabe Moothart - 11 novembro de 2010 #

  3. Oi Gabe,

    Obrigado pelo feedback. Concordo ainda pode haver alguma confusão em torno de nomeação, razão pela qual o evangelismo será importante. Você vai notar existem outras ferramentas sob a égide da YUI que também não exigem a biblioteca YUI, como YUI Doc e YUI Compressor. YUI teste ainda faz parte da família YUI, como são essas outras ferramentas.

    As três versões são realmente para compatibilidade com os testes existentes. Eu adoraria que todos padronizar usando apenas um, mas eu também quero ter certeza de que todos aqueles que utilizam as versões mais antigas ainda são suportados. Meu palpite é que a maioria YUI3 usuários usarão o sabor YUI3, ea biblioteca independente irá apelar para aqueles que não usam YUI.

    Comentário por Nicholas C. Zakas - 12 de novembro de 2010 #

  4. Notícias Awesome!

    Eu não posso esperar para começar a correr meus testes existentes contra Saucelabs serviço OnDemand com o Driver Selenium - este será um benefício real ao longo executando testes de unidade sem cabeça apenas no Rhino.

    Comentário por Liam Clancy (metafeather) - 15 de novembro, 2010 #

  5. Oi Nicholas,
    Você mencionou que haverá três sabores de novas YUI Teste biblioteca, 1) yui 2.x 2) yui 3.x e 3) se não estiver usando yui.
    Eu encontrei o download da versão beta da biblioteca em yui biblioteca, que sabor é esta versão beta 1), 2) ou 3) como mencionado acima, eu estou usando yui 2 e quero confirmar se esta versão beta é bom para yui 2.
    Também o que os prazos esperados para a versão 1.0.0 final.
    que diz respeito

    Comentário por kaanta - 08 de dezembro de 2010 #

  6. Oi Kaanta,

    1.0.0 é para a versão standalone. Você pode usar esta versão com qualquer código que você deseja testar.

    A versão final do 1.0.0 vai sair no final do Q1 de 2011, dependendo em grande parte o feedback e relatórios de bugs.

    Uma vez que a versão final do 1.0.0 está fora, o YUI2 e YUI3 versões serão atualizados para usar este núcleo.

    Comentário por Nicholas C. Zakas - 9 de dezembro de 2010 #

Desculpe, o formulário de comentários está fechado no momento.

Hosted by Yahoo!

Copyright © 2006-2011 Yahoo! Inc. Todos os direitos reservados. Política de Privacidade - Termos de Serviço

Alimentado por WordPress sobre Yahoo! Web Hosting .