Diferença entre src / main / java e src / test / java num projecto Maven

ao criar um novo projecto Maven, são criadas as pastas src/main/java e src/test/java. Com algumas pesquisas no Google, eu vim a saber que meu código fonte principal que eu uso para testes deve ser colocado em src/main/java. Mas então, qual é o propósito de dois diretórios separados. A resposta atual sobre uma pergunta semelhante não ajudou muito.

 1
Author: Dheemanth Bhandarkar, 2018-04-24

5 answers

O Maven e outros ambientes de gestão de edifícios (por exemplo, a graxa) baseiam-se no pressuposto de que se fazem testes automáticos através, por exemplo, de testes unitários. Para isso você precisa de código extra para testes que não devem ser incluídos no seu produto final entregue ao seu cliente.

Assim, tudo o que entra em {[[0]} é por defeito embalado no produto que você entregaria para o seu cliente, ao passo que tudo o que você coloca em src/test/java não é.

Isto é uma vantagem para vários motivos:
  • os seus produtos entregues são mais pequenos
  • é mais fácil encontrar um código relacionado com testes dentro do seu projecto
  • você pode carregar várias bibliotecas apenas para testes.
  • ...
 4
Author: lwi, 2018-04-24 07:13:40

A razão para ter o código de ensaio e o código de produção separados (src/main/java) é que é mais fácil construir a aplicação apenas incluindo o código de produção.

 1
Author: Moritz Petersen, 2018-04-24 07:03:45

src/main/java coloca o seu código que usa para a produção real. src/test/java coloca o seu código de caso de teste de uso, como o teste junit. Estes códigos seriam executados ao fazer coisas de pacotes maven. Estes códigos não serão embalados no seu arquivo de guerra ou jar. O que significa que estes códigos não serão para produção real.

Além disso: não é necessário que os códigos de ensaio unitários sejam embalados em produção. Você não precisa e não deve colocá-los na pasta {[[0]}.

 1
Author: Bejond, 2018-04-24 07:08:51

De acordo com as configurações do Maven, a classe de testes será encontrada na pasta src/test e o código-fonte será encontrado na pasta src/main. Então src / main / java é a Diretoria de raiz para o seu código-fonte & src/test/java/ é a Diretoria de raiz para o seu código de teste.

Ex : Pacote de Hotel, Classe de reserva

Source Class file :  src/main/java/Hotel/Reservation .java
Test Class file : src/test/java/Hotel/ReservationTest .java
 1
Author: Chamara Maduranga, 2018-09-11 05:18:38

Para tornar os tipos mais fáceis de encontrar e usar, para evitar conflitos de nome, e para controlar o acesso, os programadores agrupam grupos de tipos relacionados em pacotes.Toma.

 0
Author: Vinod Bokare, 2018-04-24 07:34:48