JUnit (ou outro framework) e aplicação web

Boa tarde,

eu tenho uma aplicação web, que ainda não tem testes unitários, e to afim de começar a utilizar. Mas eu nao usei muito testes unitários, muito menos pra web, e tenho algumas dúvidas sobre como ficaria a estrutura da aplicação, e como faria para que o framework testasse a camada DAO…

No momento a minha aplicação está dessa forma:

- APP
    - src
        - br.com.app.model
        - br.com.app.dao
        - br.com.app.controller
        - META-INF
    - web
        - template
        - resources
        - WEB-INF
        - index.xhtml
    - build.xml

A primeira dúvida é sobre a estrutura quando os testes unitários forem acrescentados. Seria uma boa simplesmente adicionar um pacote a mais no diretorio src (do tipo br.com.app.test)? Ou deveria eu fazer isso em outro lugar?

E como faço para testar a camada DAO? Primeiro também em relação à estrutura, a minha ideia inicialmente é por um pacote br.com.app.test.dao, mas se tiverem alguma ideia melhor seria muito bem vinda. E a segunda dúvida é sobre como fazer o teste utilizando a persistence.xml existente. Ele está lançando uma excessão dizendo que nao encontrou o jta-data-source… Seria o caso de criar um outro persistence.xml??

Desde já obrigado,
Bruno.

Eu sigo o padrão do Maven, fica mais ou menos assim assim

[code]

  • APP
    • src/test/java
      • br.com.test.app.model
      • br.com.test.app.dao
      • br.com.test.app.controller
      • META-INF
    • src/main/java
      • br.com.app.model
      • br.com.app.dao
      • br.com.app.controller
      • META-INF
    • web
    • build.xml[/code]

Sendo assim, deixo meus testes isolados do código de produção.

Para testar o DAO, eu uso um .xml diferente, porque geralmente meu .xml de produção aponta para uma base de DESENV e meu .xml de teste unitário aponta para uma base de TESTE na qual eu fico limpando antes de cada teste.

ahhmm, é uma boa. acho que vou fazer assim mesmo

valeu!