Testes de integração

82 views
Skip to first unread message

Renan Reis

unread,
Apr 13, 2013, 6:12:03 PM4/13/13
to caelum-vraptor-dev
Opa blz pessoal?

Gostaria de saber como executar um teste de integração do vraptor.

Imagine que desenvolvi uma funcionalidade e os testes de unidade passaram, porém vamos supor que esqueci de anotar uma classe com @Component, apenas quando subo um projeto com o Vraptor no container que terei o erro de injeção.

grande abrasss

Otávio Garcia

unread,
Apr 13, 2013, 6:15:04 PM4/13/13
to caelum-vr...@googlegroups.com
Este é um assunto que eu estava conversando com o Lucas. Atualmente não há nada para isso no vraptor.

O que pensei inicialmente é evoluir o mydvds com as funcionalidades como serialização, persistência, etc, para que possamos testar a integração. Inclusive testar em vários containers.

Por enquanto não vejo outra forma.

--
You received this message because you are subscribed to the Google Groups "caelum-vraptor-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to caelum-vraptor-...@googlegroups.com.
To post to this group, send email to caelum-vr...@googlegroups.com.
Visit this group at http://groups.google.com/group/caelum-vraptor-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Guilherme Silveira

unread,
Apr 13, 2013, 6:40:41 PM4/13/13
to caelum-vraptor-dev
Oi Renan,

Voce quer fazer um teste para um componente do vraptor ou você quer testar um componente seu em integração?
Dá uma pincelada de como quer escrever o seu teste?

Abraço!

Guilherme Silveira
Caelum | Ensino e Inovação
http://www.caelum.com.br/


2013/4/13 Otávio Garcia <ota...@otavio.com.br>

Lucas Cavalcanti

unread,
Apr 14, 2013, 11:33:04 AM4/14/13
to caelum-vraptor-dev
O teste de integração de DI estão no GenericContainerTest....

é só adicionar um teste nele pra ver se o componente está sendo provido pelo VRaptor.

o problema é que os componentes do gson são opcionais, precisaria fazer um teste mais específico pra registrar o pacote dos componentes, e ver se a injeção funciona.


2013/4/13 Guilherme Silveira <guilherme...@caelum.com.br>

Renan Reis

unread,
Apr 14, 2013, 9:02:47 PM4/14/13
to caelum-vr...@googlegroups.com
Gostei da resposta do Otávio.

Guilherme, quero testar um componente meu em integração. Vamos supor que fiz uma alteração no vraptor, os testes de unidade passaram, agora antes de fazer um pull request, quero subir todo o contexto pra ver se deu tudo certo.

Fiz um mvn package, instalei o jar no meu rep local, coloquei a dependencia em um projeto de teste, mas ai agora quando subo o projeto da NoClassDefFoundError para todas as dependencias do vraptor pelo visto.

Resumindo: baixei o fonte, fiz alteraçoes, fiz mvn package, como uso esse jar que eu gerei em um novo projeto? tenho que colocar todas as dependencias manualmente via maven mesmo?

abrasss

Renan Reis

unread,
Apr 15, 2013, 3:06:47 PM4/15/13
to caelum-vr...@googlegroups.com
Galera, conversando com o Guilherme Silveira hoje cedo, ele comentou que bastava rodar um mvn install no vraptor-core e colocar a versão de snapshot em um outro projeto que conseguiria rodar, porém quando faço isso e tento rodar fazer um mvn package no meu projeto acontece o seguinte erro:

[ERROR] Failed to execute goal on project gson-test: Could not resolve dependencies for project br.com.caelum:gson-test:war:0.0.1-SNAPSHOT: Failed to collect dependencies for [br.com.caelum:vraptor:jar:3.5.1-SNAPSHOT (compile)]: Failed to read artifact descriptor for br.com.caelum:vraptor:jar:3.5.1-SNAPSHOT: Could not find artifact br.com.caelum:vraptor-parent:pom:3.5.1-SNAPSHOT -> [Help 1]


alguem pode me auxiliar?

abrasss

Em sábado, 13 de abril de 2013 19h12min03s UTC-3, Renan Reis escreveu:

Cecilia Fernandes

unread,
Apr 15, 2013, 3:17:55 PM4/15/13
to caelum-vr...@googlegroups.com
Oi Renan, acho que essa última dúvida pertence à lista caelum-...@googlegroups.com. Aposto que outras pessoas podem ter tido o mesmo problema e é interessante que eles tenham acesso a essa resposta.

No que diz respeito à primeira questão dessa thread... eu acho que nunca senti falta disso por conta de testes de aceitação automatizados -- Selenium ou WebDriver. Eu não entendi a forma como esse teste de que está tudo devidamente registrado seria escrito e estou com o Gui nessa: gostaria de ver o código de um teste desses, da forma como vocês gostariam de escrevê-lo.


Ceci


2013/4/15 Renan Reis <renanrei...@gmail.com>

--
You received this message because you are subscribed to the Google Groups "caelum-vraptor-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to caelum-vraptor-...@googlegroups.com.
To post to this group, send email to caelum-vr...@googlegroups.com.
Visit this group at http://groups.google.com/group/caelum-vraptor-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Cecilia Fernandes - @cecifernandes
Caelum | Ensino e Inovação
www.caelum.com.br

Otávio Garcia

unread,
Apr 15, 2013, 5:45:35 PM4/15/13
to caelum-vr...@googlegroups.com
Pelo que notei, o que o Renan quer é evitar o que aconteceu há alguns dias atrás, em que um componente foi "comitado" com @Component do Spring, e não do VRaptor. Nos testes unitários tudo passou ok, porém não há uma forma ainda de testar se o componente é provido pelo vraptor ou por anotações proprietárias do container.

É isso, Renan?

2013/4/15 Cecilia Fernandes <ceci.v...@gmail.com>

Raphael Almeida

unread,
Apr 15, 2013, 6:01:56 PM4/15/13
to caelum-vr...@googlegroups.com
Seria algo semelhante ao SpringJUnit4ClassRunner?

Lucas Cavalcanti

unread,
Apr 15, 2013, 9:31:58 PM4/15/13
to caelum-vr...@googlegroups.com

O erro do maven era pq vc precisa dar mvn install na raiz do repositorio, e nao a partir do vraptor-core

Renan Reis

unread,
Apr 16, 2013, 7:45:34 PM4/16/13
to caelum-vr...@googlegroups.com
@Lucas, fiz o mvn install a partir da raiz, depois coloquei em um projeto de teste a seguinte dependência:

<dependency>
<groupId>br.com.caelum</groupId>
<artifactId>vraptor</artifactId>
<version>3.5.1-SNAPSHOT</version>
</dependency>

Ai quando subo o projeto nada acontece, é como se o vraptor não subisse, nem log aparece.

Coloquei a dependencia corretamente?



@Otavio isso, mas acho que nem precisamos testar com algo tão complexo, como o Guilherme falou um teste de integração já é o suficiente, imagine que se eu tivesse a oportunidade de ter subido o projeto antes do commit, daria um erro concorda?

@Cecila vai ser um teste de integração bem simples mesmo, vou fazer no my-dvds uma request http com content-type json e verificar o retorno.


Em sábado, 13 de abril de 2013 19h12min03s UTC-3, Renan Reis escreveu:

Rafael Ponte

unread,
Apr 16, 2013, 7:57:05 PM4/16/13
to caelum-vr...@googlegroups.com

Um teste de fumaça em ao menos uma rota de cada controller deve ser suficiente para saber se tudo funciona integrado (estão anotados corretamente, o escopo tambem esta adequado etc).

--

Lucas Cavalcanti

unread,
Apr 16, 2013, 8:28:00 PM4/16/13
to caelum-vraptor-dev
Renan, dá uma olhada se ele tá baixando o VRaptor corretamente...

consegue ver se ele tá no classpath?

ele tá declarado no web.xml?


2013/4/16 Rafael Ponte <rpo...@gmail.com>

Renan Reis

unread,
Apr 18, 2013, 10:17:55 AM4/18/13
to caelum-vr...@googlegroups.com
@Lucas não tinha web.xml pq usava espec servlet 3. Ja n era pra reconhecer automatico? Mas ai adicionei o filtro e o erro voltou:

java.lang.ClassNotFoundException: br.com.caelum.vraptor.VRaptor

Esta no meu pom, isso já joga pro classpath certo?

@Rafael, bom isso mesmo.

abrasss

Em sábado, 13 de abril de 2013 19h12min03s UTC-3, Renan Reis escreveu:

Lucas Cavalcanti

unread,
Apr 18, 2013, 10:19:07 AM4/18/13
to caelum-vraptor-dev
aparentemente o jar do VRaptor não tá no classpath não... vc tá subindo a aplicação pelo eclipse?


2013/4/18 Renan Reis <renanrei...@gmail.com>

--

Otávio Garcia

unread,
Apr 18, 2013, 11:57:44 AM4/18/13
to caelum-vr...@googlegroups.com
A ajuda na configuração poderia ser tratata em outro tópico na lista de usuários, e este tópico ser deixado para o assunto dos testes de integração?

Abraço

2013/4/18 Lucas Cavalcanti <lucasm...@gmail.com>

Renan Reis

unread,
Apr 18, 2013, 12:53:22 PM4/18/13
to caelum-vr...@googlegroups.com
Resolvido!

Aconteceu um problema atípico, quando o workspace tem um projeto com o mesmo nome de artefato ele usa referencia a esse projeto e não exporta, fechei o projeto vraptor e foi td lindo.

Créditos ao Otávio.

abrassss


Em sábado, 13 de abril de 2013 19h12min03s UTC-3, Renan Reis escreveu:
Reply all
Reply to author
Forward
0 new messages