Skip to content

arieslab/DANTES

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published