Open FabianoPrazeres opened 8 years ago
Olá, Cole aqui o erro pra gente ver!
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());
@
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
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)
O teste de comparação "equals" falhou, verifique os dados que está testando pra ver se são idênticos.
Eles não estão idênticos
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);
}
}
@FabianoPrazeres da uma olhada no meu codigo que eu fiz https://github.com/leonardocintra/API-Carros/blob/master/API-Maven/Carros/src/test/java/test/CarroTest.java
Voce consegue debugar ?
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
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
Obrigado meu nobres colegas, problema solucionado, Obrigada pela ajuda de todos! Forte Abraço! Fiquem com Deus!!
Boa noite a todos não estou encontrando a falha ao executar o teste testSalvarDeletarCarro alguém pode me ajudar por favor
acontece a atualização e também e salvo o conteúdo mais o método deletar não esta funcionando
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?