Duvida BO

1 resposta
J
class AccountDAO{ 
   public void update(AccountVO vo){ 
      ... 
      //executa SQL de insert, gerencia pool de conexões e/ou usa algum framework como Hibernate. 
   } 
} 

class AccountBusinessObject{ 
   private AccountDao dao = null; 
   public void transferFound(AccountVo from, AccoutVo to, double value){ 
     //usa o DAO para buscar dados da conta de origem 
    from = dao.loadByPrimaryKey( from.getId() ); 
    //se tem crédito, entãofaz o cálculo necessário 
    from.credit( from.credit - value ); 
    to.credit( from.credit + value ); 

    //usa o DAO para atualizar o valor decrementado no BD 
     dao.update( from ); 
     dao.update( to ); 

   } 
} 

class AccountVO(){ 
  private double credit; 
  private int id; 
  //etc 
}

Esta correta essa implementação de BO acima? Busca no DAO o objeto e após executa as regras, como ficaria um teste unitário com esse BO? Funcionária sem problema?

1 Resposta

j0nny

A princípio, creio que esteja certo.
Vc pode receber o DAO no construtor do seu BO, e quando for testar, passe um DAO ‘mockado’ para o BO.
http://improveit.com.br/xp/praticas/tdd/mock_objects

Criado 13 de outubro de 2011
Ultima resposta 13 de out. de 2011
Respostas 1
Participantes 2