Pessoal, alguém tem um projeto bacana de testes unitários para compartilhar ?
Estou com algumas dúvidas e queria tirar aqui.
Primeiro. Tenho as seguintes classes.
public abstract class AbstractDAO<E extends AbstractEntity> implements IDAO<E> {
@Inject
Session session;
...
}
@Component
public class HospitalDAO extends AbstractDAO<Hospital> {
@Override
public Class<Hospital> getEntityClass() {
return Hospital.class;
}
}
public class HospitalDAOTest {
@Mock
HospitalDAO dao;
@Before
public void init() {
MockitoAnnotations.initMocks(this);
}
...
Após o @Before eu tenho o dao, mas com a session null. Qual seria a melhor forma de ter a sessão nesse caso ?
Teria que usar um when(dao.getSession()).return(session) e fazer um @Mock da Session ? Não entendo muito bem porque o Mock já não injeta a session pra mim.
Segundo. Como eu faço para usar um hibernate.cfg.xml no test. Tem como ? Ai eu usaria um igual ao da aplicação mas com a base trocada. Qual a melhor forma de fazer isso ? Posso alterar somente a string de conexão no meu TestSuite?
Valeu.