E ai, pessoal!
Não estou entendendo. Quando eu anoto o setUp() com @Before, eu tenho o dobro de "inicializando teste!". Quando eu não anoto, roda normal e imprime apenas uma mensagem.
Devo fazer a anotação ou não? Por que acontece isso? Segue um trecho do código:
public class AvaliadorTest
{
private Avaliador leiloeiro;
public void setUp()
{
leiloeiro = new Avaliador();
System.out.println( "inicializando teste!" );
}
@Test
public void deveValidarLancesEmOrdemCrescente()
{
Usuario joao = new Usuario( "João" );
Usuario jose = new Usuario( "José" );
Usuario maria = new Usuario( "Maria" );
Lance maria_lance = new Lance( maria, 200 );
Lance joao_lance = new Lance( joao, 300 );
Lance jose_lance = new Lance( jose, 400 );
Leilao leilao = new Leilao( "PS3 seminovo" );
leilao.propoe( maria_lance );
leilao.propoe( joao_lance );
leilao.propoe( jose_lance );
setUp();
leiloeiro.avalia( leilao );
double menorEsperado = 200;
double maiorEsperado = 400;
double mediaEsperada = 300;
double delta = 0.00001;
assertEquals( maiorEsperado, leiloeiro.getMaiorLance(), delta );
assertEquals( menorEsperado, leiloeiro.getMenorLance(), delta );
assertEquals( mediaEsperada, leiloeiro.getMedia(), delta );
}
@Test
public void deveValidarApenasUmLance()
{
Usuario joao = new Usuario( "João" );
Lance joao_lance = new Lance( joao, 300 );
Leilao leilao = new Leilao( "PS3 seminovo" );
leilao.propoe( joao_lance );
setUp();
leiloeiro.avalia( leilao );
double menorEsperado = 300;
double maiorEsperado = 300;
double mediaEsperada = 300;
double delta = 0.00001;
assertEquals( maiorEsperado, leiloeiro.getMaiorLance(), delta );
assertEquals( menorEsperado, leiloeiro.getMenorLance(), delta );
assertEquals( mediaEsperada, leiloeiro.getMedia(), delta );
}
tem outros testes, mas não cabe tudo.
Valeu!