2009-09-12 6 views
33

Mam skrypt o nazwie Script.php i testuję go w Tests/Script.php, ale po uruchomieniu testów phpunit nie wykonuje żadnych testów w moim pliku testowym. Jak uruchomić wszystkie moje testy z phpunit?Jak uruchomić wszystkie moje testy PHPUnit?

PHPUnit 03/03/17, PHP 5.2.6-3ubuntu4.2, najnowsze Ubuntu

wyjściowa:

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

A oto mój skrypt i testowe pliki:

Script .php

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

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

Odpowiedz

28

stworzyłem po phpunit.xml a teraz conajmniej mogę zrobić phpunit --configuration phpunit.xml w moim katalogu głównym, aby uruchomić testy znajdujące się w testach/

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

Myślisz, że oni to udokumentowane. Właśnie przejrzałem podręcznik i mówią, że możesz przekazać katalog, ale tak naprawdę nie, jak to zrobić.

Być może twoja nazwa klasy musi pasować do nazwy bazowej (wszystko oprócz ".php") twojej nazwy skryptu testowego?

8

myślę forPHPUnit do zdecyduj się na automatyczne uruchomienie go, musi podążać za konwencją filename: somethingTest.php.

+0

Ta zmiana pracował dla mnie – 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
filename

PHP testowego musi kończyć się test.php

phpunit mydir będzie uruchomić wszystkie skrypty o nazwach xxxxTest.php w katalogu mydir

(wygląd lubi to nie jest opisane w dokumentacji phpunit)

+0

To nie musi. Możesz podać -test-sufiks "TestCase.php", jeśli twoje pliki testowe kończą się na "TestCase.php", ale domyślnie phpunit zaakceptuje sufiks jako "Test.php", gdy nie będziemy określać sufiksu w komendzie linia – kaushik