Engenharia de Softwa..
Engenharia de Softwa..
Engenharia de Softwa..
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