CodeIgniter e SimpleTest – Como fazer meu primeiro teste?

Estou acostumado ao desenvolvimento web usando LAMP, PHP5, MySQL plus NetBeans com Xdebug.

Agora eu quero melhorar o meu desenvolvimento, aprendendo a usar (A) testes adequados e (B) um quadro. Então configurei CodeIgniter, SimpleTest e o suplemento Xdebug fácil para o Firefox. Isso é uma ótima diversão porque os maroonbytes me forneceram instruções claras e uma configuração configurada pronta para download. Estou de pé sobre os ombros dos gigantes e muito grato.

Eu usei SimpleTest um pouco no passado. Aqui é um tipo de coisa que escrevi:

assertEqual(1,1); // a pseudo-test } } $test = new TestOfMysqlTransaction(); $test->run(new HtmlReporter()) ?> 

Então espero saber como é um teste. O que não consigo descobrir é onde e como colocar um teste na minha nova configuração. Não vejo testes de amostra no pacote de maroonbytes, e o Google até agora me levou a postagens que assumem que o teste de unidade já está funcionalmente disponível. O que eu faço?

Editar:

Se você estiver seguindo a configuração dos maroonbytes, siga as instruções:

  1. Baixe o framework SimpleTest e extraie os arquivos em seu diretório @codeigniter.
  2. Tanto na sua pasta principal quanto na pasta admin / application, crie uma nova pasta chamada testes.
  3. Dentro da nova pasta de testes, as pastas adicionais são chamadas de “modelos”, “visualizações”, “controladores”, “bibliotecas” e “auxiliares” .

Qualquer arquivo que termine em .php e com um UnitTestCase dentro de qualquer uma dessas pastas, deve ser executado. 🙂

Primeiro, os testes devem ser nomeados adequadamente. Para testar um controlador de boas vindas colocado no arquivo welcome.php, um teste é chamado welcome_controller_test.php e armazenado em testes / controladores /. Para mais informações, veja esta publicação .

Em segundo lugar, o argumento GET do Xdebug interfere com a rotina de teste. Veja a publicação apenas acima, também esta publicação .

Em terceiro lugar, o teste de topo que eu postei precisava de quatro linhas excluídas:

 //require_once('../simpletest/unit_tester.php'); //require_once('../simpletest/reporter.php'); ... //$test = new TestOfMysqlTransaction(); //$test->run(new HtmlReporter()) 

Estou fazendo testes bastante felizes agora. CodeIgniter me permite criar / manter testes facilmente, então meu objective de TDD parece acessível. Minhas tentativas anteriores do TDD me deram a idéia, mas o PHP rascunho era muito estéril para que eu fosse efetivo (e não discutiremos o VBA!).