Estou aprendendo os conceitos de Desenvolvimento Orientado a Testes lendo os artigos do Craftsman (clique em Craftsman em Por Tópico ) recomendados em uma resposta à minha pergunta anterior, "Projeto de amostra para aprender JUnit e engenharia de software adequada" . Eu amo isso até agora!
Mas agora quero sentar e experimentar eu mesmo. Tenho uma pergunta que espero precisar apenas de uma resposta simples.
Como você organiza suas classes de teste JUnit e seu código real? Estou falando principalmente sobre a estrutura do pacote, mas quaisquer outros conceitos importantes também seriam úteis.
Você coloca classes de teste em org.myname.project.test. * E o código normal em org.myname.project. *? Você coloca as classes de teste ao lado das classes normais? Você prefere prefixar os nomes das classes com Teste em vez de sufocá-los?
Sei que parece o tipo de coisa com a qual não devo me preocupar tão cedo, mas sou uma pessoa muito centrada na organização. Sou quase o tipo de pessoa que passa mais tempo descobrindo métodos para manter o controle do que deve ser feito, em vez de realmente fazer as coisas.
E eu tenho um projeto que está dividido em pacotes, mas ficou uma bagunça. Em vez de tentar refatorar tudo e escrever testes, quero começar do zero, testes primeiro e tudo. Mas primeiro preciso saber para onde vão meus testes.
editar: Eu esqueci totalmente do Maven, mas parece que a maioria de vocês está usando! No passado, eu tinha um caso de uso específico em que o Maven quebrou completamente comigo, mas o Ant me deu a flexibilidade de que precisava, então acabei me apegando ao Ant, mas estou pensando que talvez só estivesse usando a abordagem errada. Acho que vou dar outra chance ao Maven porque parece que vai funcionar bem com o desenvolvimento orientado a testes.