1
resposta

Arquitetura em um Projeto Real

Olá pessoal,

Tenho algumas dúvidas em relação a arquitetura de um projeto real:

1) No curso era necessário inicializar manualmente a aplicação para depois executar o JUnit, mas como seria o caso de uma aplicação real? Seria possível o próprio Maven inicializar a aplicação antes de executar os testes com o Selenium? 2) Supondo que minha aplicação seja dividida entre um Frontend em React/Angular ou Vue por exemplo e o Backend sejam algumas aplicações Java com Spring, como ficaria essa camada de testes com Selenium? Deveria concentar em uma aplicação separada só para fazer o teste de tudo? 3) Relacionado a dúvida 1, como eu usaria Mock no Projeto sendo que o JUnit não está cnotrolando a execução da aplicação que foi feita de forma manual e não está sendo executada pelo JUnit? Como eu faria um Mock por exemplo dos DAOs da aplicação para não utilizar um banco de dados real, por exemplo?

Obrigado a todos desde já!

1 resposta

Olá, tudo bem?

Respondendo às suas dúvidas:

  1. Em um projeto real, é comum utilizar ferramentas de integração contínua, como o Jenkins ou o Travis CI, para automatizar a execução dos testes. Essas ferramentas podem ser configuradas para inicializar a aplicação antes de executar os testes com o Selenium. O Maven também pode ser configurado para executar scripts de inicialização antes de rodar os testes.

  2. Nesse caso, é recomendado separar os testes em camadas. Você pode ter testes unitários para o Backend e testes de aceitação para o Frontend. É possível utilizar o Selenium para testar o Frontend e outras ferramentas, como o RestAssured, para testar o Backend. Não é necessário concentrar tudo em uma aplicação separada, mas sim organizar os testes de forma coerente.

  3. Para fazer o Mock dos DAOs, é possível utilizar frameworks como o Mockito ou o EasyMock. Esses frameworks permitem criar objetos falsos que simulam o comportamento dos DAOs reais. Dessa forma, você pode testar a sua aplicação sem precisar utilizar um banco de dados real.

Espero ter ajudado e bons estudos!