O que há de novo no YUI Teste 3.0.0
10 de dezembro de 2009 às 9:07 pm por Nicholas C. Zakas | Em Desenvolvimento | Comments OffNicholas C. Zakas juntou Yahoo! em 2006. Ele é o autor de Professional Ajax e JavaScript profissional para desenvolvedores web . Sua Test-Driven Development apresentação é um dos vários de Nicholas em YUI Theater .
Uma nova versão do YUI Teste acompanhou o lançamento do YUI 3.0.0 . YUI Teste para 3.0.0 é mais do que apenas uma porta da versão 2.x compatível de YUI Test, no entanto, a introdução de vários novos recursos. Estes surgiram como resultado de pedidos de desenvolvedores e conversas que tive com os que já usando a ferramenta.
Promoção da simulação de eventos
Simulação de eventos foi originalmente introduzido na versão 2.x do YUI teste através do YAHOO.util.UserAction objeto. Como se viu, os desenvolvedores realmente gostei desta funcionalidade e usos encontrados para ele fora do ambiente de teste. Como resultado, a ferramenta de simulação de eventos foram promovidos para ser um membro de primeira classe do utilitário evento YUI 3.0.0 , acessível em um único método, Y.Event.simulate() . Você pode incluir o componente de simulação de eventos, passando "event-simulate" no YUI().use() método:
YUI (). Usar ("evento de simulação", function (Y) { Y.Event.simulate ("# nó", "click", {ClientX: 25, clientY: 30}); });
Objetos Mock
YUI Teste para YUI 3.0.0 introduz uma nova capacidade: a criação de objetos simulados. Objetos mock são úteis para isolar os testes de unidade de dependências. Em sistemas de software complexos, existem muitas vezes qualquer número de peças que dependem de uma outra. O problema torna-se então isolar a parte do sistema falhou quando algo dá errado.
Por exemplo, suponha que você tem um método chamado logToServer() que é criar um XMLHttpRequest objeto e enviar uma mensagem para o servidor. Se o teste inclui o objeto XHR real em uma tentativa de testar a funcionalidade, você tem duas grandes dependências: o objeto XHR si e ao servidor. Se qualquer uma dessas duas dependências falhar, então o seu teste falhar, mesmo que não é o seu código que está em falta. Usando um objeto XHR mock, você pode testar o código em isolamento e garantir que ele está trabalhando. Por exemplo:
/ / Cria um novo objeto de simulação var mockXhr = Y.Mock (); / / Espero que o método open () ser chamado com os argumentos fornecidos Y.Mock.expect (mockXhr, { método: "aberto", args: ["? / log.php msg = oi" "get", true] }); / / Espero que o método send () ser chamado com os argumentos fornecidos Y.Mock.expect (mockXhr, { método: "enviar", args: [null] }); / / Agora chamar a função logToServer ("oi", mockXhr); / / Verificar as expectativas foram atendidas Y.Mock.verify (mockXhr);
Este exemplo cria um objecto XHR simulada que é usado no lugar de um objecto XHR regular. Uma vez que todas as operações de ter sido concluída, o código verifica que os métodos de esperar que foram chamadas. O YUI teste simulado objeto API é propositadamente mínima para ser o mais claro e útil quanto possível. Para saber mais sobre objetos fictícios em Teste YUI, consulte a documentação .
Friendly nomes de testes
YUI teste utilizado inicialmente a xUnit estilo de métodos de ensaio em que o nome de cada método de teste deve começar com test . YUI Teste para 3.0.0 vai um passo além, permitindo que você especifique nomes de testes amigáveis em suplementares, os nomes xUnit estilo. Nomes amigáveis são frases mais do que qualquer outra coisa, ea única restrição é que o nome contém pelo menos um espaço ea palavra "deverá". Por exemplo:
var TestCase = new Y.Test.Case ({ name: "Nome TestCase", / / Nome do teste xUnit estilo testSomeFunction: function () { }, / / Nome do teste amigável "Alguma coisa deve acontecer aqui": function () { ... } });
Nomes de testes amigáveis permitem descrever a funcionalidade que está sendo testado em uma forma mais legível. Escrever uma frase como "método deve retornar 4, quando passou 2 e 2", e tendo que aparecem nos resultados do teste, torna mais fácil interpretar os resultados dos testes eo que mais deve ser abordada.
Qual é o próximo?
YUI teste continua a evoluir e crescer como feedback é recebido de desenvolvedores. Existem vários recursos atualmente em andamento:
- Mais formatos resultado de teste, tais como JUnit XML e TAP.
- Cobertura de código recolha e comunicação.
- A automação de teste usando Selenium.
Se você tem idéias ou comentários, gostaríamos de ouvir de você em YUILibrary.com , onde você pode apresentar pedidos de recurso ou iniciar uma discussão no fórum . Com sua ajuda, Teste YUI pode continuar a evoluir para atender as necessidades da comunidade de desenvolvimento web em constante mudança.
Compartilhar e ampliar: Bookmark com del.icio.us | digg it! | reddit!
Sem comentários ainda
Desculpe, o formulário de comentários está fechado no momento.

Copyright © 2006-2012 Yahoo! Inc. Todos os direitos reservados. Política de Privacidade - Termos de Serviço
Powered by WordPress no Yahoo! Web Hosting .
