Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Capítulo 4 #4

Open
FabianoPrazeres opened this issue May 31, 2016 · 12 comments
Open

Capítulo 4 #4

FabianoPrazeres opened this issue May 31, 2016 · 12 comments

Comments

@FabianoPrazeres
Copy link

Na classe CarroTest no código da página 79, não esta executando, esta aparecendo uma exceção na linha da busca no banco de dados para confirmar se o carro foi salvo, alguém sabe o que pode ser?

@diogenesd
Copy link

Olá, Cole aqui o erro pra gente ver!

@FabianoPrazeres
Copy link
Author

FabianoPrazeres commented May 31, 2016

code
43 //Busca no banco de dados para confirmar que o carro foi salvo
44 c = carroService.getCarro(id);
45 assertEquals("Teste", c.getNome());
46 assertEquals("Teste desc", c.getDesc());
47 assertEquals("url foto aqui", c.getUrlFoto());
48 assertEquals("url video aqui", c.getUrlVideo());
49 assertEquals("lat", c.getLatitude());
50 assertEquals("lng", c.getLongitude());
51 assertEquals("tipo", c.getTipo());

@sem titulo

@diogenesd
Copy link

O erro está que o objeto passado está chegando nulo, o erro esta na linha 45 mas na imagem não da pra ver. faz um staktrance() para verificar melhor

@FabianoPrazeres
Copy link
Author

FabianoPrazeres commented May 31, 2016

Encontrei o erro, ela estava na classe CarroDAO, porém agora surgiu um novo erro ao compilar.

junit.framework.ComparisonFailure: expected:<Teste[ UPDATE]> but was:<Teste[]>
at junit.framework.Assert.assertEquals(Assert.java:100)
at junit.framework.Assert.assertEquals(Assert.java:107)
at junit.framework.TestCase.assertEquals(TestCase.java:269)
at test.CarroTest.testSalvarDeletarCarro(CarroTest.java:65)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at junit.framework.TestCase.runTest(TestCase.java:176)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:252)
at junit.framework.TestSuite.run(TestSuite.java:247)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:131)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

sem titulo

@diogenesd
Copy link

O teste de comparação "equals" falhou, verifique os dados que está testando pra ver se são idênticos.

@FabianoPrazeres
Copy link
Author

FabianoPrazeres commented May 31, 2016

Eles não estão idênticos
sem titulo

O Código fonte da classe é este abaixo:
package test;

import java.util.List;
import junit.framework.TestCase;
import br.com.livro.domain.Carro;
import br.com.livro.domain.CarroService;

public class CarroTest extends TestCase{

private CarroService carroService = new CarroService();

public void testListaCarros(){
    List<Carro>carros = carroService.getCarros();
    assertNotNull(carros);

    //Valida se encontrou algo
    assertTrue(carros.size()>0);

    //Valida se encontrou  o tucker
    Carro tucker = carroService.findByName("Tucker 1948").get(0);
    assertEquals("Tucker 1948", tucker.getNome());

    //Valida se encontrou a ferrari
    Carro ferrari = carroService.findByName("Ferrari FF").get(0);
    assertEquals("Ferrari FF", ferrari.getNome());

    //Valida se encontrou o Bugatti
    Carro bugatti = carroService.findByName("Bugatti Veyron").get(0);
    assertEquals("Bugatti Veyron", bugatti.getNome());
}


public void testSalvarDeletarCarro(){

    Carro c = new Carro();
    c.setNome("Teste");
    c.setDesc("Teste desc");
    c.setUrlFoto("url foto aqui");
    c.setUrlVideo("url video aqui");
    c.setLatitude("lat");
    c.setLongitude("lng");
    c.setTipo("tipo");
    carroService.save(c);
    Long id = c.getId();
    assertNotNull(id);

    //Busca no banco de dados para confirmar que o carro foi salvo
    c = carroService.getCarro(id);
    assertEquals("Teste", c.getNome());
    assertEquals("Teste desc", c.getDesc());
    assertEquals("url foto aqui", c.getUrlFoto());
    assertEquals("url video aqui", c.getUrlVideo());
    assertEquals("lat", c.getLatitude());
    assertEquals("lng", c.getLongitude());
    assertEquals("tipo", c.getTipo());

    //atualiza o carro
    c.setNome("Teste UPDATE");
    carroService.save(c);

    //Busca o carro novamente
    c = carroService.getCarro(id);
    assertEquals("Teste UPDATE", c.getNome());

    //deleta o carro
    carroService.delete(id);

    //Busca o carro novamente
    c = carroService.getCarro(id);

    //Desta vez o carro não existe mais.
    assertNull(c);
}

}

@ghost
Copy link

ghost commented Jun 1, 2016

@FabianoPrazeres
Copy link
Author

Bom dia @leonardocintra-luizalabs, meu código esta semelhante ao seu no método testSalvarDeletarCarro, porém na hora da comparação não esta comparando objetos iguais como o @diogensd me informou, em qual classe poderia estar o erro

@diogenesd
Copy link

Fabiano:
Na sua imagem o erro descreve:
-> esperado Teste[UPDATE] mas foi:
-> Teste na linha 63

então executa o metodo savar e confere o que foi salvo no bd,
pois quando esá buscando pelo id esta retornando diferente.

pode ser um erro no seu metodo save ou update

@FabianoPrazeres
Copy link
Author

Obrigado meu nobres colegas, problema solucionado, Obrigada pela ajuda de todos! Forte Abraço! Fiquem com Deus!!

@Vanderlucio
Copy link

Boa noite a todos não estou encontrando a falha ao executar o teste testSalvarDeletarCarro alguém pode me ajudar por favor
image

@Vanderlucio
Copy link

acontece a atualização e também e salvo o conteúdo mais o método deletar não esta funcionando

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants