Olá Pessoal,
Será que uma alma caridosa (CV?) poderia discutir aqui como construir um bom test case (JUnit) para uma action do Webwork?
Eu to achando tao mala escrever os testes, nao pode ser assim :shock:
Olá Pessoal,
Será que uma alma caridosa (CV?) poderia discutir aqui como construir um bom test case (JUnit) para uma action do Webwork?
Eu to achando tao mala escrever os testes, nao pode ser assim :shock:
Bom, isso varia bastante conforme as suas Actions, mas putz, aqui pelo menos eh a coisa mais baba do mundo:
public void testAdicionarUsuarioOK() {
AdicionarUsuarioAction a = new AdicionarUsuarioAction();
a.setNome("fulano");
a.setSenha("segredo");
assertEquals(Action.SUCCESS, a.execute());
}
public void testAdicionarUsuarioSemSenha() {
AdicionarUsuarioAction a = new AdicionarUsuarioAction();
a.setNome("fulano");
assertEquals(Action.ERROR, a.execute());
}
public void testAdicionarUsuarioEmBranco() {
AdicionarUsuarioAction a = new AdicionarUsuarioAction();
assertEquals(Action.INPUT, a.execute());
}
Hope this helps 
ooooba … tava testando o hashmap de erros :oops: , assim só conseguia fazer um teste por classe (pq nao dava pra limpar o hash)
eu “perdi” a sacada do assertEquals(Action.SUCCESS, a.execute());
valeu!
Entao… se vc quiser fazer um testcase mais certinho, vc pode tambem, depois do assertEquals(Action.ERROR, action.execute()), pegar o Map com os erros e ver se tah tudo certo 
Qualquer coisa da mais um toque ae 
Mais um toque ae :lol:
Como setar o ambiente do usuário pelo teste?
Tipo, variáveis na sessão e blablabla (o ValueStack) …
Valeu
Voce poderia ser mais especifico? Nao entendi pra q vc esta precisando disso… 
A ideia é que minha action vai usar o contexto do usuarios para algumas ações (exemplo: pegar o perfil dele depois de logado:) …
Pra isso preciso setar o ActionContext que normalmente seria setado pelo framework mas nesse caso eu estou pulando ele (no teste).
Eu criei o contexto com ActionContext.setApplication(Context.getApplicationMap());
//Context eh minha classe que vai simular a geração as partes do contexto, pra facilitar a manutenção dos testes
No codigo ai em cima eu seto as variaveis do contexto da APLICAÇÃO …
Minha duvida é que isso funcionou, mas pra 1 teste em uma Action, funcionaria pra mais actions? (eu sei, eh q nao tive tempo mesmo … amanha vou fazer o teste direito) …
como posso dizer que o contexto é pra essa ou aquela Action? (nao tem um setContext no ActionSupport) …
ahhh … se tiver alguma dica manda ae, se nao tiver nao esquenta q amanha depois dos testes tenho duvidas mais consistentes e diretas … :roll: (agora q to dando uma olhada no fonte do framework)
De uma olhada no ActionContext, se vc nao viu ainda… acho que ele faz exatamente o que vc ta procurando 
é com ele mesmo que eu estou brigando
ActionContext.setApplication(Context.getApplicationMap());
Consigo setar os maps (parametros, sessao, aplicacao) e os contextos (servlet, etc.) nao me interessam (por enquanto)
Mas nao achei ainda como setar o contexto pra aquela action em especial … o contexto da aplicacao eh um soh pra todas as actions, tudo bem mas mas mas … ops, todos esses sao os mesmo pras actions (os parametros nao preciso tb) ehehehe … testes testes , amanha vou faze-los.
Inté …
valeu … amanha continuo esse papo 
Já que estamos falando de Webwork, eu tenho uma pergunta… (lá vem!)
:oops: Onde eu pego o webwork 2? Já dá pra usar? Eu to atrás de um firewall que nao me deixa dar checkout no SF de jeito nenhum…
Tudo de bom!!
Opa …
O Webwork 2 mudou de casa … foi para o Java.net então o CVS está la.
De qq jeito vc tb nao vai conseguir baixar por lá (eh uma droga esses firewalls:) …
Já tem arquivos da versão beta e esses você consegue pegar … baixe o Xwork e o Webwork
O triste é que essa versão beta ja esta com uns problemas resolvidos no CVS … eu tb estou com seu problema, o que faco eh baixar lah de casa qd preciso atualizar.
[]s
Valeu garoto!!
A versa beta eh a que eu quero mesmo… : ))