Tiago, uma maneira de você testar os controllers é mockando eles (
http://martinfowler.com/articles/mocksArentStubs.html);

Os testes funcionais do Selenium são uma boa opção para esse tipo de teste
também, mas ele é baseado em teste de aceitação e na visão do usuário em
relação ao sistema, inclusive, é indicado que o usuário que escreva os
testes de aceitação.

Com mocks é uma abordagem  mais técnica, na visão do desenvolvedor, válida
também, mas eu prefiro a anterior.

--
Marcus Cavalcanti
21 9144-5068
www.marcuscavalcanti.net/blog


2011/3/2 Tiago Davi <[email protected]>

> hummm.
>
> Já ouvi falar nesse Selenium mas eu realmente estou começando agora com
> testes e achei que deveria testar os controllers já que por exemplo tenho
> controllers que processam outros métodos e models do Doctrine.
>
> Vou procurar entender essa diferença mais pra frente com mais tempo.
>
> Obg por compartilhar.
>
> Att.
>
> Em 2 de março de 2011 23:17, Eric Saboia <[email protected]> escreveu:
>
> Vou montar um projeto com CI 2.0 + Doctrine + PHPunit com exemplos
>>
>> O mais importante dos testes unitários é realmente o modelo, como o amigo
>> Marcus falou
>>
>> Testes em controllers são chamados "testes de integração", onde vc envia
>> um sinal e espera um retorno de um determinado tipo contendo determinados
>> dados, esses testes são mais usados em serviços (web services), eu
>> particulamente nunca precisei deles, pois pra aplicações normais, os testes
>> funcionais (ou de aceitação) cobrem tanto as views quanto os controllers de
>> forma satisfatória.
>>
>> Eu recomendo o uso do Selenium pra quem quiser se aventurar nos testes
>> funcionais. Hoje é a ferramenta mais usada em todas as linguagens, e possue
>> um Driver "maduro" pra PHP.
>>
>> Abraços!
>>
>> 2011/3/2 Tiago Davi <[email protected]>
>>
>> Sim consegui usar a integração do Eric mas antes disso sofri para instalar
>>> o PEAR! essa lib da erro em quase todos os momentos de sua instalação e
>>> sempre tem um macete ou outro que precisamos fazer para ir driblando os
>>> erros e o SimpleTest comparado ao PHPUnit é realmente muito mais simples e
>>> exibe os testes direto no navegador.
>>>
>>> Já uso o Doctrine integrado ao CI 2.0 e recomendo! Doctrine agiliza e
>>> muito no processo de desenvolvimento mas tem que entender do ORM.
>>>
>>> Quando você entende o que o Doctrine pode fazer por você muita coisa do
>>> CI você irá deixar de lado!
>>>
>>> Já não uso models nem validação nem nada disso do CI, faço quase tudo
>>> pelo Doctrine e além disso ele permite testar meus models então só me
>>> preocupo mesmo em testar minhas libs e alguns controllers principais.
>>>
>>> Hoje uso CI 2 + Doctrine + Modular Extensions (HMVC) + SimpleTest
>>>
>>> Criei aqui uma estrutura pronta inclusive com o MY_Controller como uma
>>> lib de métodos que sempre vou precisar usar nos projetos e outra de helpers
>>> úteis e esse modular permite que meus controllers conversem entre si sem
>>> precisar herdá-los.
>>>
>>> Fico feliz em contribuir.
>>>
>>> Att.
>>>
>>> Em 2 de março de 2011 20:38, Nando Araujo <[email protected]>escreveu:
>>>
>>> Eu tenho interesse em usar TDD, testes unitários, etc..
>>>> Até tive um tempo estudando em cima do projeto que o Eric Saboia
>>>> forneceu usando o CI_Unit, já experimentou?
>>>>
>>>> Eu vou ver se arranjo um tempo para integrar o Doctrine no CI 2.0 (não
>>>> cheguei a mexer com o Doctrine, mas li um pouco a respeito e entendi por
>>>> cima o funcionamento ORM e tal)..
>>>>
>>>> Vale a pena a gente trocar uma idéia a respeito..
>>>> Abraço
>>>>
>>>> Em 28 de fevereiro de 2011 22:36, Marcus Cavalcanti <
>>>> [email protected]> escreveu:
>>>>
>>>> Hum... isso não é responsabilidade dos controllers, mas tudo bem.
>>>>>
>>>>> O que faria sentido testar nos controllers é o fluxo, mas aí vc poderia
>>>>> mockar e testá-los.
>>>>>
>>>>>
>>>>> --
>>>>> Marcus Cavalcanti
>>>>> 21 9144-5068
>>>>> www.marcuscavalcanti.net/blog
>>>>>
>>>>>
>>>>> 2011/2/28 Tiago Davi <[email protected]>
>>>>>
>>>>> Meus models são do Doctrine e organizo minha lógica toda em controllers
>>>>>> e libs e de qualquer forma já consegui chamar controller, model e 
>>>>>> inclusive
>>>>>> testar métodos dentro de módulos do hmvc (modular extensions) com 
>>>>>> simpletest
>>>>>> e CI 2.0.
>>>>>>
>>>>>> Se alguém se interessar sobre isso é só avisar.
>>>>>>
>>>>>> Obg.
>>>>>>
>>>>>> Em 27 de fevereiro de 2011 01:30, Marcus Cavalcanti <
>>>>>> [email protected]> escreveu:
>>>>>>
>>>>>> Não é não poder, é não fzer sentido.
>>>>>>>
>>>>>>> Controller não deve entender do seu negócio, não é ele a camada pra
>>>>>>> isso.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Marcus Cavalcanti
>>>>>>> 21 9144-5068
>>>>>>> www.marcuscavalcanti.net/blog
>>>>>>>
>>>>>>>
>>>>>>> 2011/2/26 Tiago Davi <[email protected]>
>>>>>>>
>>>>>>>> Vou dar uma lida depois nesse material, estou iniciando agora nos
>>>>>>>> casos de teste.
>>>>>>>>
>>>>>>>> Mas acho estranho não poder testar um controller.
>>>>>>>>
>>>>>>>> Obg.
>>>>>>>>
>>>>>>>> Em 26 de fevereiro de 2011 18:44, Tiago Davi <tiago.asp.net@
>>>>>>>> gmail.com> escreveu:
>>>>>>>>
>>>>>>>> O que quer dizer com controller não tem RN?
>>>>>>>>>
>>>>>>>>> Eu só queria por exemplo testar se um controle retorna mesmo TRUE.
>>>>>>>>>
>>>>>>>>> Dai no meu teste eu faria $this->assertTrue("passando o método do
>>>>>>>>> meu controle aqui");
>>>>>>>>>
>>>>>>>>> Resumindo eu gostaria de testar meus controllers antes mesmo de
>>>>>>>>> escreve-los e pra isso estou integrando o SimpleTest com CI, estou 
>>>>>>>>> sendo
>>>>>>>>> ignorante em alguma coisa?
>>>>>>>>>
>>>>>>>>> Att.
>>>>>>>>>
>>>>>>>>> Em 26 de fevereiro de 2011 18:38, Marcus Cavalcanti <
>>>>>>>>> [email protected]> escreveu:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> http://blog.caelum.com.br/tdd-e-sua-influencia-no-acoplamento-e-coesao/
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> <http://blog.caelum.com.br/tdd-e-sua-influencia-no-acoplamento-e-coesao/>tem
>>>>>>>>>> um outro artigo muito bom que ia te ajudar a clarear um pouco mais 
>>>>>>>>>> sobre
>>>>>>>>>> isso, mas parece que o domínio está fora, de qualquer maneira, se 
>>>>>>>>>> você
>>>>>>>>>> quiser tentar depois:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> http://www.team-oriented-programming.com/2010/06/30/tdd_relearning_to_code.html
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Marcus Cavalcanti
>>>>>>>>>> 21 9144-5068
>>>>>>>>>> www.marcuscavalcanti.net/blog
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 2011/2/26 Marcus Cavalcanti <[email protected]>
>>>>>>>>>>
>>>>>>>>>> Tiago, Controller não tem RN, logo não deve ser testado.
>>>>>>>>>>>
>>>>>>>>>>> O que eu disse que não faz sentido é em relação a isso.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Marcus Cavalcanti
>>>>>>>>>>> 21 9144-5068
>>>>>>>>>>> www.marcuscavalcanti.net/blog
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> 2011/2/26 Tiago Davi <[email protected]>
>>>>>>>>>>>
>>>>>>>>>>> Não faz sentido pois como disse é apenas um exemplo.
>>>>>>>>>>>>
>>>>>>>>>>>> Aonde está escrito "queroChamarUmController" eu gostaria de
>>>>>>>>>>>> chamar um método de um controller qualquer.
>>>>>>>>>>>>
>>>>>>>>>>>> Porém não tenho acesso aos controllers mas de qualquer forma
>>>>>>>>>>>> estou resolvendo o problema com outra lib.
>>>>>>>>>>>>
>>>>>>>>>>>> Até.
>>>>>>>>>>>>
>>>>>>>>>>>> Em 25 de fevereiro de 2011 20:00, Marcus Cavalcanti <
>>>>>>>>>>>> [email protected]> escreveu:
>>>>>>>>>>>>
>>>>>>>>>>>> Que tipo de teste é esse? hehe não faz o menor sentido
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Marcus Cavalcanti
>>>>>>>>>>>>> 21 9144-5068
>>>>>>>>>>>>> www.marcuscavalcanti.net/blog
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2011/2/25 Tiago Davi <[email protected]>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>  Meu exemplo está assim:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> class TestModuleHome extends UnitTestCase{
>>>>>>>>>>>>>>  function testInformacoes()
>>>>>>>>>>>>>>  {
>>>>>>>>>>>>>> $this->assertEqual("davi", "queroChamarUmController");
>>>>>>>>>>>>>>  }
>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Queria saber como posso chamar um método do meu controller e
>>>>>>>>>>>>>> passar no teste já que não posso herdar o controller e quando 
>>>>>>>>>>>>>> instâncio
>>>>>>>>>>>>>> direto ele da erro?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Ninguém aqui usa essa lib??
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Em 25 de fevereiro de 2011 16:16, Tiago Davi <tiago.asp.net@
>>>>>>>>>>>>>> gmail.com> escreveu:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Boa tarde alguém já usou essa lib?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> http://codeigniter.com/wiki/SimpleTester_-_Unit_testing_library/
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Sabe como posso testar um controller usando essa lib mas de
>>>>>>>>>>>>>>> forma a deixar o teste separado do controller?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Desde já agradeço.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Att.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Tiago Davi - Desenvolvedor Web.
>>>>>>>>>>>>>>> http://tiagoaspnet.blogspot.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Tiago Davi - Desenvolvedor Web.
>>>>>>>>>>>>>> http://tiagoaspnet.blogspot.com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> [email protected]
>>>>>>>>>>>>>> http://www.codeigniter.com.br
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ---------------------------
>>>>>>>>>>>>>> Oportunidade de negócio
>>>>>>>>>>>>>> http://www.franquiasargohost.net
>>>>>>>>>>>>>> ---------------------------
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Tiago Davi - Desenvolvedor Web.
>>>>>>>>>>>> http://tiagoaspnet.blogspot.com
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Tiago Davi - Desenvolvedor Web.
>>>>>>>>> http://tiagoaspnet.blogspot.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Tiago Davi - Desenvolvedor Web.
>>>>>>>> http://tiagoaspnet.blogspot.com
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Tiago Davi - Desenvolvedor Web.
>>>>>> http://tiagoaspnet.blogspot.com
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> [email protected]
>>>>> http://www.codeigniter.com.br
>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>>>
>>>>> ---------------------------
>>>>> Oportunidade de negócio
>>>>> http://www.franquiasargohost.net
>>>>> ---------------------------
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> [email protected]
>>>> http://www.codeigniter.com.br
>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>>
>>>> ---------------------------
>>>> Oportunidade de negócio
>>>> http://www.franquiasargohost.net
>>>> ---------------------------
>>>>
>>>>
>>>
>>>
>>> --
>>> Tiago Davi - Desenvolvedor Web.
>>> http://tiagoaspnet.blogspot.com
>>>
>>>
>>>
>>> _______________________________________________
>>> [email protected]
>>> http://www.codeigniter.com.br
>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>
>>> ---------------------------
>>> Oportunidade de negócio
>>> http://www.franquiasargohost.net
>>> ---------------------------
>>>
>>>
>>
>>
>> --
>> Eric Saboia - eric.saboia.org
>>
>> Beautiful is better than ugly,
>> Explicit is better than implicit,
>> Simple is better than complex,
>> Complex is better than complicated.
>>
>> The Zen of Python, by Tim Peters
>>
>>
>> _______________________________________________
>> [email protected]
>> http://www.codeigniter.com.br
>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>
>> ---------------------------
>> Oportunidade de negócio
>> http://www.franquiasargohost.net
>> ---------------------------
>>
>>
>
>
> --
> Tiago Davi - Desenvolvedor Web.
> http://tiagoaspnet.blogspot.com
>
>
>
> _______________________________________________
> [email protected]
> http://www.codeigniter.com.br
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
> ---------------------------
> Oportunidade de negócio
> http://www.franquiasargohost.net
> ---------------------------
>
>
_______________________________________________
[email protected]
http://www.codeigniter.com.br
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

---------------------------
Oportunidade de negócio
http://www.franquiasargohost.net
---------------------------

Responder a