Venho trabalhando muito com TDD ultimamente (acredito que agora seja pra valer) e percebo certas diferenças ao rodar os testes em ambientes em que você utiliza X framework comparados ao CakePHP.
<?php App::uses('CakeTestSuite', 'TestSuite'); class AllModelTest extends CakeTestSuite { public static function suite() { //Criando a nova suite de testes (ou grupo de testes) $suite = new CakeTestSuite('All Model Tests'); // Adicionando diretório onde os testes se encontram $suite->addTestDirectory(TESTS . 'Case' . DS . 'Model'); return $suite; } }Com isso se rodarmos novamente o test console, desta vez nem precisamos passar o parâmetro --group. Perceba que existe um caso de teste chamado AllModel. Ele pode ser executado com os seguintes comandos ./app/Console/cake test app e selecionando a opção 1 ou simplesmente ./app/Console/cake test app AllModel. Perceba que existem 26 testes pois o mesmo executou apenas os testes que encontram-se estritamente dentro de Test/Case/Model... mas se tivermos Behaviors? O caminho dos behaviors, helpers e components sempre estão dentro das pastas Model/Behavior, View/Helper e Controller/Component respectivamente. Há duas soluções, adicionar em nossa suíte de testes além da pasta Model, também a pasta Model/Behavior ou simplesmente adicionar as pastas recursivamente. como mostrado no novo AllModelTest.php
<?php App::uses('CakeTestSuite', 'TestSuite'); class AllModelTest extends CakeTestSuite { public static function suite() { //Criando a nova suite de testes (ou grupo de testes) $suite = new CakeTestSuite('All Model Tests'); /* // Adicionando diretório onde os testes se encontram $suite->addTestDirectory(TESTS . 'Case' . DS . 'Model'); $suite->addTestDirectory(TESTS . 'Case' . DS . 'Model/Behavior'); */ // Ou o mais indicado $suite->addTestDirectoryRecursive(TESTS . 'Case' . DS . 'Model'); return $suite; } }Com isso rodamos nossos testes novamente e perceba que existem mais de 26 testes como anteriormente Com este conceito em mãos basta aplicar testes para todos os controllers e views também e por último sugiro a criação de uma suíte chamada All, sendo seu arquivo AllTest.php e seu conteúdo a seguir
<?php App::uses('CakeTestSuite', 'TestSuite'); class AllTest extends CakeTestSuite { public static function suite() { $suite = new CakeTestSuite('All tests'); $suite->addTestDirectoryRecursive(TESTS . 'Case' . DS . 'Controller'); $suite->addTestDirectoryRecursive(TESTS . 'Case' . DS . 'Model'); $suite->addTestDirectoryRecursive(TESTS . 'Case' . DS . 'View'); return $suite; } }Rodando os testes com o comando ./app/Console/cake test app All todos os testes são executados de uma vez. E isto é refletido na suíte de testes via browser que o CakePHP fornece. E rodando todos via browser temos este resultado Por hoje é isso, é uma configuração bem simples mas que no CakePHP pode deixar muitos desenvolvedores frustrados por não conseguirem rodar todos os testes simultaneamente. Sugiro a leitura de CakePHP e Composer