Duvida BO

[code]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
}

[/code]

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?

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