Separação de classes JUnit em um pacote de teste especial?

Estou aprendendo os conceitos de Desenvolvimento Orientado a Testes lendo aArtigos de artesão (cliqueArtesão sobPor tópico) recomendado em uma resposta à minha pergunta anterior,"Exemplo de projeto para aprender JUnit e engenharia de software adequada". Eu amo isso até agora!

Mas agora eu quero me sentar e experimentar. Eu tenho uma pergunta que espero que precise 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 de observação também seriam úteis.

Você coloca classes de teste em org.myname.project.test. * E 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 sufixá-los?

Eu sei que isso parece ser o tipo de coisa com a qual não devo me preocupar tão cedo, mas sou uma pessoa muito centrada na organização. Eu estouquase o tipo de pessoa que gasta mais tempo descobrindo métodos para acompanhar o que deve ser feito, em vez de realmente fazer as coisas.

E eu tenho um projeto que atualmente está bem dividido em pacotes, mas o projeto se tornou uma bagunça. Em vez de tentar refatorar tudo e escrever testes, quero começar de novo, testando primeiro e tudo. Mas primeiro eu preciso saber para onde meus testes vão.

editar: Eu esqueci completamente 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 falhou completamente comigo, mas o Ant me deu a flexibilidade que eu precisava, então acabei me apegando ao Ant, mas estou pensando que talvez estivesse apenas adotando a abordagem errada. Acho que vou tentar outra vez o Maven, porque parece que tudo vai bem com o desenvolvimento orientado a testes.

questionAnswers(3)

yourAnswerToTheQuestion