não sei se alguem aqui ja teve este problema, mas esta me acontecendo o seguinte
quando executo o TestCase que escrevi para um EJB da ClassCastException quando vou fazer o narrow do objeto retornado no lookup
por exemplo assim funciona:
[code]/*
- Created on 29/08/2003
- Propriedade intelectual de <a href="http://www.usiinformatica.com.br">USI Informatica</a>
*/
package com.topazio.template.ejb.negocio;
import java.rmi.RemoteException;
import com.topazio.template.ejb.persistencia.exceptions.TemplateException;
import com.topazio.template.ejb.persistencia.interfaces.UsuarioIntf;
import junit.framework.TestCase;
/**
- Propriedade intelectual de <a href="http://www.usiinformatica.com.br">USI Informatica</a>
- Criado em 29/08/2003
- @author Rodrigo
/
public class LojaBeanTest extends TestCase {
private LojaHome home;
private Loja loja;
/*
* Constructor for LojaBeanTest.
* @param arg0
*/
public LojaBeanTest(String arg0) {
super(arg0);
}
public static void main(String[] args) {
//junit.swingui.TestRunner.run(LojaBeanTest.class);
LojaBeanTest t = new LojaBeanTest("teste");
try {
t.setUp();
t.testCriarUsuario();
} catch (Exception e) {
e.printStackTrace();
}
}
/*
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
home = LojaUtil.getHome();
loja = home.create();
}
/*
* @see TestCase#tearDown()
*/
protected void tearDown() throws Exception {
super.tearDown();
}
public void testCriarUsuario() {
try {
Boolean created = loja.criarUsuario("rodrigo@goodcard.com.br", "http://www.usiinformatica.com.br", "rodrigo", "Rodrigo Urubatan Ferreira Jardim", "rodrigo", "Rodrigo U. F. Jardim", new Integer(1234567890), new Integer(1234), "Visa", "São Leopoldo", "apto 302", "RS", new Integer(1026), "João Neves da Fontoura");
//assertNotNull(created);
//assertEquals(created,Boolean.TRUE);
UsuarioIntf u = loja.getUsuario();
//assertNotNull(u);
} catch (RemoteException e) {
e.printStackTrace();
assertNull(e);
} catch (TemplateException e) {
e.printStackTrace();
assertNull(e);
}
}
public void testLoginUsuario() {
try {
Boolean login = loja.loginUsuario("rodrigo","rodrigo");
assertEquals(login,Boolean.TRUE);
UsuarioIntf u = loja.getUsuario();
assertNotNull(u);
assertEquals(u.getNome(),"rodrigo");
} catch (RemoteException e) {
e.printStackTrace();
assertNull(e);
} catch (TemplateException e) {
e.printStackTrace();
assertNull(e);
}
}
public void testListarProdutosLoja() {
//TODO Implement listarProdutosLoja().
}
public void testRecuperarSenhaUsuario() {
//TODO Implement recuperarSenhaUsuario().
}
public void testGetUsuario() {
//TODO Implement getUsuario().
}
public void testSetUsuario() {
//TODO Implement setUsuario().
}
public void testFecharCarrinho() {
//TODO Implement fecharCarrinho().
}
public void testListarComprasUsuario() {
//TODO Implement listarComprasUsuario().
}
}
[/code]
e assim não:
[code]/*
- Created on 29/08/2003
- Propriedade intelectual de <a href="http://www.usiinformatica.com.br">USI Informatica</a>
*/
package com.topazio.template.ejb.negocio;
import java.rmi.RemoteException;
import com.topazio.template.ejb.persistencia.exceptions.TemplateException;
import com.topazio.template.ejb.persistencia.interfaces.UsuarioIntf;
import junit.framework.TestCase;
/**
- Propriedade intelectual de <a href="http://www.usiinformatica.com.br">USI Informatica</a>
- Criado em 29/08/2003
- @author Rodrigo
/
public class LojaBeanTest extends TestCase {
private LojaHome home;
private Loja loja;
/*
* Constructor for LojaBeanTest.
* @param arg0
*/
public LojaBeanTest(String arg0) {
super(arg0);
}
public static void main(String[] args) {
junit.swingui.TestRunner.run(LojaBeanTest.class);
}
/*
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
home = LojaUtil.getHome();
loja = home.create();
}
/*
* @see TestCase#tearDown()
*/
protected void tearDown() throws Exception {
super.tearDown();
}
public void testCriarUsuario() {
try {
Boolean created = loja.criarUsuario("rodrigo@goodcard.com.br", "http://www.usiinformatica.com.br", "rodrigo", "Rodrigo Urubatan Ferreira Jardim", "rodrigo", "Rodrigo U. F. Jardim", new Integer(1234567890), new Integer(1234), "Visa", "São Leopoldo", "apto 302", "RS", new Integer(1026), "João Neves da Fontoura");
//assertNotNull(created);
//assertEquals(created,Boolean.TRUE);
UsuarioIntf u = loja.getUsuario();
//assertNotNull(u);
} catch (RemoteException e) {
e.printStackTrace();
assertNull(e);
} catch (TemplateException e) {
e.printStackTrace();
assertNull(e);
}
}
public void testLoginUsuario() {
try {
Boolean login = loja.loginUsuario("rodrigo","rodrigo");
assertEquals(login,Boolean.TRUE);
UsuarioIntf u = loja.getUsuario();
assertNotNull(u);
assertEquals(u.getNome(),"rodrigo");
} catch (RemoteException e) {
e.printStackTrace();
assertNull(e);
} catch (TemplateException e) {
e.printStackTrace();
assertNull(e);
}
}
public void testListarProdutosLoja() {
//TODO Implement listarProdutosLoja().
}
public void testRecuperarSenhaUsuario() {
//TODO Implement recuperarSenhaUsuario().
}
public void testGetUsuario() {
//TODO Implement getUsuario().
}
public void testSetUsuario() {
//TODO Implement setUsuario().
}
public void testFecharCarrinho() {
//TODO Implement fecharCarrinho().
}
public void testListarComprasUsuario() {
//TODO Implement listarComprasUsuario().
}
}
[/code]
a unica diferença esta em rodar o codigo utilizando JUnit ou rodar utilizando direto o metodo main
não consegui entender o que ta acontecendo
se alguem tiver uma dica, agradeço