17.04.2013 Views

Engenharia de Softwa..

Engenharia de Softwa..

Engenharia de Softwa..

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Figura 2. Resultado do Teste no testRunner<br />

Na tela <strong>de</strong> resultado é possível observar o erro que foi intencionalmente<br />

adicionado no código para o exemplo. Além <strong>de</strong><br />

apresentar a barra vermelha, é possível verificar <strong>de</strong>talhes do<br />

erro na parte <strong>de</strong> baixo da interface. Ao clicar na opção com<br />

erro é exibido um <strong>de</strong>talhamento: “Expected but was<br />

” – Esperado mas foi . Fazendo<br />

uma clara alusão à função testeB que retorna falso e o caso <strong>de</strong><br />

teste espera por verda<strong>de</strong>iro. Fazendo uma pequena alteração<br />

no caso <strong>de</strong> teste teste_verificacao2 para que ele espere falso,<br />

alterando a linha 16 da Listagem 1 para assertEquals(false,<br />

testeB());, o resultado é exibido na Figura 3, sem erros <strong>de</strong>sta<br />

vez, conforme esperado.<br />

Figura 3. Resultado do Teste no testRunner – sem erros<br />

JsCoverage<br />

JsCoverage é uma ferramenta que faz testes <strong>de</strong> cobertura em<br />

programas escritos na linguagem JavaScript. Para conseguir<br />

52 <strong>Engenharia</strong> <strong>de</strong> <strong>Softwa</strong>re Magazine - Teste unitário e <strong>de</strong> cobertura para Java Script com JsUnit e JsCovarage<br />

analisar um código, o JsCoverage instrumenta a biblioteca que<br />

está sendo referenciada pela página HTML, acrescentando<br />

chamadas a funções específicas do JsCoverage que visam<br />

retornar o número <strong>de</strong> execuções <strong>de</strong> cada linha <strong>de</strong> código da<br />

biblioteca, conseguindo assim apresentar uma análise <strong>de</strong><br />

cobertura completa da biblioteca utilizada.<br />

Assim como a JsUnit, a JsCoverage é disponibilizada em um<br />

pacote compactado (http://siliconforks.com/jscoverage/). A<br />

organização dos diretórios também é simples e disponibiliza<br />

na pasta principal os executáveis responsáveis por instrumentar<br />

as bibliotecas que são jscoverage.exe e jscoverage-server.<br />

exe. O diretório DOC contém a documentação da ferramenta<br />

e exemplos <strong>de</strong> utilização.<br />

Como apresentado, a JsCoverage precisa instrumentar os<br />

códigos Java Script para po<strong>de</strong>r i<strong>de</strong>ntificar a cobertura da sua<br />

execução. Há, basicamente, três formas essenciais para essa<br />

ativida<strong>de</strong>.<br />

A primeira é utilizar o utilitário jscoverage.exe que está <strong>de</strong>ntro<br />

da pasta principal. A sua utilização é simples e basta digitar<br />

o comando abaixo no prompt <strong>de</strong> comandos do MS-DOS, on<strong>de</strong> o<br />

DIRETORIO-FONTE é o diretório que possui os códigos fonte<br />

a serem instrumentados e o DIRETORIO-DESTINO será o diretório<br />

on<strong>de</strong> os códigos instrumentados serão enviados. Observe<br />

que serão instrumentados todos os arquivos com a extensão .js<br />

<strong>de</strong> todo o diretório e subdiretórios do diretório fonte.<br />

jscoverage.exe DIRETORIO-FONTE DIRETORIO-DESTINO<br />

A segunda forma é usar o jscoverage-server, que é um servidor<br />

Web simples que instrumenta os códigos Java Script<br />

automaticamente, não sendo necessária a execução <strong>de</strong> qualquer<br />

comando adicional. Para se iniciar o servidor, basta executar<br />

jscoverage-server.exe no prompt do MS-DOS que o servidor<br />

será instanciado em memória. Ele abrirá o servidor na porta<br />

8080 e, portanto, se houver algum outro aplicativo no servidor<br />

que esteja utilizando essa porta, o JsCoverage não irá funcionar<br />

nas suas configurações padrão.<br />

Para testar, basta acessar em qualquer navegador o en<strong>de</strong>reço<br />

http://127.0.0.1:8080/jscoverage.html. Ao abrir este link, uma<br />

interface para a instrumentação dos códigos Java Script é<br />

exibida ao usuário conforme po<strong>de</strong> ser visto na Figura 4. Para<br />

<strong>de</strong>sligar o servidor, basta fechar a janela do prompt do MS-<br />

DOS. Quando os códigos são instrumentados na primeira<br />

forma (a forma manual), é gerada no diretório <strong>de</strong>stino a mesma<br />

interface exibida nesta segunda forma – basta para isso acessar<br />

o arquivo jscoverage.html no diretório <strong>de</strong>stino.<br />

Um <strong>de</strong>talhe que merece <strong>de</strong>staque é quanto à necessida<strong>de</strong> dos<br />

arquivos <strong>de</strong> código fonte do seu site (HTML, Java Script, entre<br />

outros) a serem testados estarem no mesmo diretório do arquivo<br />

jscoverage-server, ou então ser chamado pelo diretório dos<br />

códigos fonte do site. Mas, nesse caso, é necessário configurar<br />

a ferramenta na variável PATH das variáveis <strong>de</strong> ambiente do<br />

sistema operacional.<br />

E há ainda uma terceira forma, que é utilizando o jscoverageserver<br />

com a opção <strong>de</strong> proxy ativada. Com essa forma, os<br />

códigos são instrumentados <strong>de</strong> forma automática ao serem

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!