2009-09-12 5 views
33

Ho uno script chiamato Script.php e lo collaudo in Tests/Script.php, ma quando eseguo phpunit Test non esegue alcun test nel mio file di test. Come eseguo tutti i miei test con phpunit?Come eseguo tutti i miei test PHPUnit?

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

uscita:

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

E qui sono i miei script e di prova file:

Script .php

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

Test/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()); 
    } 
} 
?> 

risposta

28

ho creato seguendo phpunit.xml e ora atleast posso fare phpunit --configuration phpunit.xml nella mia directory root per eseguire i test situati in Test/

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

Pensi che avrebbero documentato questo. Ho appena controllato il manuale e dicono che puoi passare una directory, ma non proprio come farlo.

Forse il nome della classe deve corrispondere al nome di base (tutto tranne il file ".php") degli script di test nomefile?

8

penso forPHPUnit a decidere di eseguirlo automaticamente deve seguire una convenzione per il nome del file: somethingTest.php.

+0

Questo cambiamento ha funzionato per me – Stephanie

-5
<?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; 
} 
47
nome di

Php prova deve terminare con Test.php

phpunit mydir verrà eseguito tutti gli script di nome xxxxTest.php nella directory mydir

(Osserva i simili non è descritto nella documentazione phpunit)

+0

Non è un must. Puoi specificare --test-suffix "TestCase.php" se i tuoi file di test terminano con "TestCase.php", ma per impostazione predefinita phpunit accetterà solo suffisso come "Test.php" quando non stiamo specificando un suffisso nel comando linea – kaushik