Skip to content

Latest commit

 

History

History
51 lines (42 loc) · 3.54 KB

README.md

File metadata and controls

51 lines (42 loc) · 3.54 KB

Detection ANd refactoring of TEst Smells (DANTES)

DANTES é uma ferramenta web projetada para detectar e refatorar test smells em códigos de teste de unidade Java usando JUnit. Atualmente, o DANTES oferece cobertura de detecção e refatoração para 11 tipos diferentes de test smells e é capaz de refatorar uma classe de teste inteira com um único clique de botão.

Dependências

Para se utilizar a DANTES, é necessário ter as seguintes dependências instaladas:

Instalação

O processo de instalação consiste nos seguintes passos:

  • Baixe ou clone o repositório
  • Navegue até a pasta do projeto
  • Abra o terminal na pasta do projeto
  • Execute o comando npm install no terminal
  • Execute o comando node app.js no terminal
  • Abra um navegador no endereço http://localhost:3000/
git clone https://github.com/arieslab/DANTES.git
cd DANTES
npm install
node app.js

Utilizando a ferramenta

Ao se abrir a página da ferramenta, esta deve ser sua estrutura. Marcado em círculos vermelhos numerados de um a nove são alguns pontos importantes da ferramenta: image

  1. Esta é a caixa de texto principal da ferramenta, aqui o usuário pode escrever ou colar o código de teste que deseja submeter para análise da ferramenta;
  2. Neste botão o usuário pode mudar o tema entre claro e escuro;
  3. O botão "Detect" deve ser clicado para que a ferramenta faça a detecção de test smells no código fornecido
  4. O usuário pode clicar no botão de "Upload a file" para escolher um arquivo e copiar o conteúdo desse arquivo diretamente para a caixa de texto
  5. Neste menu dropdown o usuáro pode selecionar diferentes formas de ordenar a exibição dos test smells encontrados:
    • Selecione "Order by Position in Code" para ordenar de acordo com a ordem de aparição dos smells no código;
    • Selecione "Order by Smell Type" para ordenar pela ordem alfabética dos nomes dos test smells;
  6. Após a detecção dos test smells, esta caixa será atualizada com a listagem de todos os test smells encontrados;
  7. Nesta caixa será exibido o código enviado para análise com as linhas que contém test smells marcadas em vermelho;
  8. Após feita alguma refatoração, o código refatorado será exibido nesta caixa, com as linhas refatoradas marcadas em verde;
  9. O usuário pode clicar neste botão para copiar para a área de transferência todo o conteúdo do código exibido.

Após o envio do código e realizada a detecção, a caixa marcada com número 6 será atualizada desta forma: image

  1. Acima da caixa esta linha é gerada mostrando se houve algum erro na detecção e, caso contrário, exibindo a quantidade de test smells encontrada no código;
  2. Dentro da caixa, cada linha corresponde a uma ocorrência de test smell encontrado no código. Na linha é detalhado o tipo do smell, o método onde foi encontrado e a linha;
  3. Para cada smell é colocado um botão verde referente à refatoração a ser executada para este smell, para executá-la basta pressionar o botão e a ferramenta irá executar a refatoração nomeada no botão;
  4. Ao clicar este botão todos os test smells encontrados no código será refatorado de uma só vez.