Question

J'ai un script appelé Script.php que je teste dans Tests / Script.php, mais lorsque j'exécute phpunit Tests, il n'exécute aucun test dans mon fichier de test. Comment faire pour exécuter tous mes tests avec phpunit?

PHPUnit 3.3.17, PHP 5.2.6-3ubuntu4.2, dernier Ubuntu

Résultat:

$ phpunit Tests
PHPUnit 3.3.17 by Sebastian Bergmann.
Time: 0 seconds
OK (0 tests, 0 assertions)

Et voici mes fichiers de script et de test:

Script.php

<?php  
function returnsTrue() {  
    return TRUE;  
}  
?>

Tests / 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());
    }
}  
?>
Était-ce utile?

La solution 2

J'ai créé après phpunit.xml et maintenant au moins je peux faire phpunit --configuration phpunit.xml dans mon répertoire racine pour exécuter les tests situés dans Tests /

<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         syntaxCheck="false">
  <testsuites>
    <testsuite name="Tests">
      <directory suffix=".php">Tests</directory>
    </testsuite>
  </testsuites>
</phpunit>

Autres conseils

Le nom du fichier du test PHP doit se terminer par Test.php

phpunit mondir exécutera tous les scripts nommés xxxxTest.php dans le répertoire mydir

.

(on dirait que ce n'est pas décrit dans la documentation de phpunit)

Je pense que pour que HPPUnit décide de l'exécuter automatiquement, il doit suivre une convention de nom de fichier: quelque chose de test.php.

Vous pensez qu'ils l'auraient documenté. Je viens de parcourir le manuel et ils disent que vous pouvez passer un répertoire, mais pas vraiment comment le faire.

Votre nom de classe doit peut-être correspondre au nom de base (tout sauf le ".php") du nom de fichier de votre script de test?

<?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;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top