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());
    }
}  
?>
Foi útil?

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;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top