Como faço para executar todos os testes meus PHPUnit?
-
06-07-2019 - |
Pergunta
Eu tenho script chamado script.php e testes para ele em testes / script.php, mas quando eu corro phpunit Testes ele não executa todos os testes no meu arquivo de teste. Como executar todos os meus testes com phpunit?
PHPUnit 3.3.17, PHP 5.2.6-3ubuntu4.2, mais recente do Ubuntu
Output:
$ phpunit Tests
PHPUnit 3.3.17 by Sebastian Bergmann.
Time: 0 seconds
OK (0 tests, 0 assertions)
E aqui estão meus arquivos de script e teste:
script.php
<?php
function returnsTrue() {
return TRUE;
}
?>
testes / script.php
<?php
require_once 'PHPUnit/Framework.php';
require_once 'Script.php'
class TestingOne extends PHPUnit_Framework_TestCase
{
public function testTrue()
{
$this->assertEquals(TRUE, returnsTrue());
}
public function testFalse()
{
$this->assertEquals(FALSE, returnsTrue());
}
}
class TestingTwo extends PHPUnit_Framework_TestCase
{
public function testTrue()
{
$this->assertEquals(TRUE, returnsTrue());
}
public function testFalse()
{
$this->assertEquals(FALSE, returnsTrue());
}
}
?>
Solução 2
Eu criei seguinte phpunit.xml e agora pelo menos eu posso fazer phpunit --configuration phpunit.xml em meu diretório raiz para executar os testes localizados em testes /
<phpunit backupGlobals="false"
backupStaticAttributes="false"
syntaxCheck="false">
<testsuites>
<testsuite name="Tests">
<directory suffix=".php">Tests</directory>
</testsuite>
</testsuites>
</phpunit>
Outras dicas
filename de Php teste deve terminar com Test.php
phpunit mydir
irá executar todos os scripts xxxxTest.php
chamado no diretório mydir
(olhares gosta não é descrito na documentação phpunit)
Eu acho que forPHPUnit decidir para executá-lo automaticamente deve seguir uma convenção filename:. SomethingTest.php
Você acha que eles iriam documentaram isso. Eu olhei através do manual, e eles dizem que você pode passar um diretório, mas não realmente como fazê-lo.
Talvez o seu nome da classe tem que coincidir com o nome base (tudo, mas o "php") do seu scripts de teste filename?
<?php
//Files required for phpunit test
require_once 'PHPUnit/Framework.php';
//Knowing the drupal environment
require_once './includes/bootstrap.inc'; //initialize the Drupal framework
//Loading the drupal bootstrap
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
//Helper file
include_once 'helper.inc';
//Including inc file of addresses module
include_once(module_load_include('inc','addresses_user','addresses_user'));
class addresses_test extends PHPUnit_Framework_TestCase {
protected $uid;
protected function setUp()
{
$this->uid = 1;
}