Artigo do tipo Tutorial
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre boas práticas.
Testes com Jasmine
Neste artigo veremos ferramentas e estratégias para a escrita de testes automatizados para códigos JavaScript. Para a escrita dos testes será utilizado um framework de desenvolvimento guiado por comportamento (BDD) chamado Jasmine. Além disso, veremos uma alternativa para a execução dos testes sem interface gráfica onde será explicada a utilização do Chutzpah, que é uma ferramenta open-source voltada para execução de testes JavaScript.


Em que situação o tema é útil
O código JavaScript geralmente é uma porção crucial de uma aplicação web e tende a se tornar um código confuso se não tivermos os devidos cuidados em sua escrita, sendo assim, este tema é útil a todo projeto web que faça uso de JavaScript, ajudando a manter a qualidade do código JavaScript e facilitando a sua manutenção.

Nos últimos anos a web tem evoluído cada vez mais e isso tem feito com que os usuários deste tipo de aplicação fique cada vez mais exigente, fazendo com que tenhamos que desenvolver aplicações cada vez mais rápidas e leves.

O JavaScript desempenha um grande papel nesse cenário, onde independente do que houver do lado do servidor, a linguagem ainda é a melhor e mais procurada solução para tratar das necessidades do lado do cliente.

Atualmente podemos desenvolver desde pequenas até grandes aplicações utilizando poucos recursos do lado do servidor, o que na maioria dos casos entendemos como Single Page Application (SPA – Nota do DevMan 1).

Nota do DevMan 1
O conceito de SPA envolve a utilização de recursos web em grande escala para o desenvolvimento de aplicações, sendo que o foco do desenvolvimento é manter a responsabilidade de manipulação de páginas e recursos de interface para o próprio lado do cliente (navegador) e mantermos do lado servidor apenas APIs RESTful ou Web Services fornecendo dados.

Em paralelo à evolução da web, a engenharia de software também seguiu evoluindo, e com ela a disciplina de testes também ganhou força em toda indústria de software. Por outro lado, é interessante observar que, como tradicionalmente as aplicações web tinham muito mais código no lado servidor, as linguagens com esta característica acabaram evoluindo mais rapidamente do que as linguagens do lado cliente. Porém, com a evolução da web o JavaScript acabou ficando em foco, sendo fundamental para toda a interação e leveza que temos nas aplicações web atuais.

Dado a utilização em larga escala de recursos web em aplicações desse tipo, começaram a surgir iniciativas para garantir a qualidade destas aplicações, e uma destas iniciativas é a prática de testes de JavaScript.

Testando seu JavaScript você terá uma maior segurança de que seu usuário estará livre de contratempos por conta de erros na aplicação.

Ferramentas

Apesar do teste de JavaScript ainda não ser muito difundido no mercado, já existem diversas ferramentas e bibliotecas que nos auxiliam na escrita deste tipo de testes, como por exemplo o QUnit e o Jasmine, que será tema deste artigo.

O Jasmine é um framework de testes JavaScript baseado na metodologia de desenvolvimento guiado por comportamento (BDD – Nota do DevMan 2). O Jasmine foi desenvolvido em JavaScript puro sendo totalmente independente de qualquer outra framework javascript. Além disso, com o Jasmine podemos testar tanto a lógica quanto o comportamento de nosso código, sem a necessidade de utilização do DOM (Nota do DevMan 3). A sintaxe utilizada na escrita dos testes é bastante clara e limpa o que ajuda na escrita dos mesmos, além disso, esta escrita possibilita fácil leitura do código, até mesmo por quem não possui conhecimento da linguagem ou tecnologia empregada.

O Jasmine conta com seu próprio script de execução de testes, que utiliza uma página web para exibir os resultados dos testes executados, o desenvolvedor só precisa se preocupar em referenciar na página os scripts de dependências para execução dos testes, os scripts de testes e as implementações a serem testadas. A utilização deste script é bem simples e pode ser encontrado na documentação da ferramenta.

Nota do DevMan 2
Desenvolvimento guiado por comportamento (BDD) é uma prática de desenvolvimento que envolve diretamente desenvolvedores e a área de negócio, com pessoas não técnicas. A ideia principal é trazer os testes ao nível de negócio, possibilitando a escrita de testes por meio de uma linguagem nativa, o que pode ser papel de pessoas não técnicas do time, e as implementações desses testes ficam a cargo dos desenvolvedores, utilizando uma linguagem de programação.
...

Quer ler esse conteúdo completo? Seja um assinante e descubra as vantagens.
  • 473 Cursos
  • 10K Artigos
  • 100 DevCasts
  • 30 Projetos
  • 80 Guias
Tenha acesso completo