Crie Massa de Dados de Teste com JavaFake

dados-fake

Muitos de vocês, assim como eu, se preocupam muito com a massa de dados dos testes.
É comum criarmos uma abordagem de acesso a uma massa de dados externa (.txt, .csv, .xls, banco de dados, etc…) para que nossos scripts de teste utilizem uma massa que realmente faça sentido e pela centralização das informações.

Mas, as vezes, é bem chato ficar atualizando certos dados da massa, ou mesmo pensar em dados para preencher, não é verdade?

Lendo o post do Walmyr Filho sobre faker.js resolvi postar sobre uma ferramenta de fake para Java.

O que são ferramentas de Faker?

São ferramentas para gerar dados falsos. Estes dados falsos são de diversos tipos e não há limite de geração do mesmo (como algumas ferramentas de geração de dados como o generatedata e mackaroo).

Isso remove sempre o passo manual de criar alguns (ou muitos) dados de teste porque ferramentas de faker geralmente são APIs. Logo você precisa escrever poucas linhas de código para inserir no seu teste.

Java Faker

A ferramenta que eu uso é o Java Faker <http://dius.github.io/java-faker/> que é um clone de uma ferramenta similar escrita em Ruby.

Ela é capaz de gerar diversos tipos de dados e também tem suporte a locales (localidades). Alguns dados que podemos gerar facilmente são:

  • Endereços
  • Nomes (com várias formas de composição)
  • Cartões de Crédito
  • Datas (controle de dias anterior e posterior)
  • Números randômicos
  • Textos randômicos
  • Internet (e-mail, sites, imagens, senhas)

Um exemplo prático

Para mostrar que o uso é muito simples desenvolvi o exemplo abaixo integrando o Java Faker a um script de teste com o Selenium WebDriver.

A linha 4 é a criação da instância do Faker, para que possamos utiliza-lo.

A linha 9 mostra a utilização para a geração de um nome. A sintaxe é sempre faker.algumaCoisa() onde o algumaCoisa() é um modelo de dados já presente na API. Como no exemplo do nome há também derivações do mesmo. Eu estou utilizando somente o primeiro nome para o modelo de nomes, mas há outros diversos como a utilização na linha 12.

A linha 10 mostra a utilização de um e-mail usando o exemplo de internet.

A linha 11 mostra o modelo de internet com a geração de senha. Vale lembrar que o controle de senha (e outros diversos modelos) possuem controle, ou seja, você pode informar quantos caracteres você deseja como mínimo e máximo.

Agora tente você!

Fácil não é?

Tenta atribuir uma biblioteca de faker nos seus testes. O Java Faker possui bibliotecas no Maven e Gradle e fora adicioná-las ao seu projeto o próximo passo é a utilização.

Tente executar este exemplo acima. Mas não esqueça de criar um projeto e adicionar a biblioteca dele.
Aqui um vídeo de execução. Note que executo o mesmo teste duas vezes para mostrar que os dados sempre são novos.

 

 

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *