[RESOLVIDO] Melhor lugar executar teste unitário de um método?

Considere no exemplo que uso JSF 2.

Dúvida:
Imagine que na tela tenho uma lista de produtos, nessa lista tem uma coluna “quantidade” com um “inputText” para poder preenche-los.
No meu “managedBean” tenho um método que pego esta lista e verifico se algum dos produtos possui quantidade maior de zero. Se sim finalizo (não importa mais o que faria para o exemplo). Caso não, tenho que voltar e pedir para que pelo menos um produto seja preenchido com quantidade maior que zero.

Esse trecho de código que verifica se algum item da lista esta com quantidade maior que zero esta no meu managedBean com já disse, portanto minha pergunta é ?
Quero criar um teste para esse método, qual seria o lugar correto para deixado-lo ? Dentro de um Service, classe Util, dentro do próprio objeto Produto ?
Obs.: Não poderia testa-lo através do meu managedBean, pois existem dependências.

Alguém poderia me dar um help ?

Cria um pacote de teste e deixa tuas classes de teste dentro dele.

Cara, não entendi o que vc quis dizer !!

Você dividiu seu projeto em pacotes, certo?
E você quer testar o método do seu MB usando JUnit, ok?

Então crie mais um novo pacote só para testes e dentro dele coloque as classes de testes que terão seus métodos testados.
Entendeu?

Não está fazendo o uso do Maven por acaso ?
A estrutura de um projeto do Maven já define uma pasta para voce definir seus arquivos de teste…

Caso nao esteje usando, a dica do amigo é um caminho.
Ou até mesmo para nao misturar fontes de teste e os oficiais, uma dica seria criar um novo projeto mesmo.

Fica a dica.

riqueluz !!

Minha dúvida não esta em criar as minhas classes de teste, isso já esta pronto e funcionando.

A dúvida é: Como eu não consigo instância meu “managedBean” devido as suas dependências, onde eu deveria colocar o método que faz a verificação da quantidade maior que zero ?
Deixar dentro de um Service, classe Util, dentro do objeto Produto ??

Conseguiu entender onde esta minha dúvida ?

Obrigado por enquanto !!

Cara, acho que entendi.
Primeiro me responde: você já pensou em criar um Mock Object do seu MB?
Com eles tu pode simular o teu MB independente das dependencias que tem no seu MB.

Sim, na verdade já analisei a possibilidade do “Mock” e teoricamente ele funcionaria.
Mas a minha dúvida ainda é assim: Ta certo fazer isso ? deixar o método no “managedBean” mesmo e testa-lo? ou criar uma classe POJO com um método que faz as verificações e retorna para o “managedBean” ? E ai sim testar o POJO ?

Cara ai é contigo. Não esqueça de deixar suas classes Coesas e Desacopladas.
Mas geralmente métodos de verificação/validação ficam fora do ManagedBean, justamente pra deixa-lo mais Coeso possível.

Entendi…

Postei mesmo a dúvida aqui, porque pensei mesmo em criar uma classe POJO que contenha todos os meus métodos e testa-la. Porém me parece procedural, e por isso fiquei em dúvida em onde seria o melhor lugar para deixar o método.

Mas valeu pelas dicas !!