2009-09-12 7 views
33

Ich habe Skript namens Script.php und testet dafür in Tests/Script.php, aber wenn ich phpunit Tests starte, führt es keine Tests in meiner Testdatei aus. Wie führe ich alle meine Tests mit phpunit durch?Wie führe ich alle meine PHPUnit-Tests aus?

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

Ausgang:

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

Und hier mein Skript und Testdateien sind:

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

Antwort

28

Ich habe folgende phpunit.xml und jetzt atleast kann ich phpunit --configuration phpunit.xml in meinem Stammverzeichnis tun, um die Tests in Tests/

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

Sie denken, sie würden dies dokumentiert. Ich habe gerade das Handbuch durchgesehen, und sie sagen, Sie können ein Verzeichnis weitergeben, aber nicht wirklich, wie es geht.

Vielleicht muss Ihr Klassenname mit dem Basisnamen (alles außer der ".php") Ihres Testskripts Dateiname übereinstimmen?

8

Ich denke forPHPUnit gelegen laufen zu Entscheiden Sie, um es automatisch auszuführen, muss es einer Dateinamenskonvention folgen: somethingTest.php.

+0

Diese Änderung muss ein Ende haben arbeitete für mich – 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

Dateiname des Php-Test mit test.php

phpunit mydir werden alle Skripte ausgeführt namens xxxxTest.php im Verzeichnis mydir

(Aussehen mag es nicht in der phpunit Dokumentation beschrieben)

+0

Es ist kein Muss. Sie können --test-suffix "TestCase.php" angeben, wenn Ihre Testdateien mit "TestCase.php" enden, aber phpunit wird standardmäßig nur Suffix als "Test.php" akzeptieren, wenn wir kein Suffix im Befehl angeben Linie – kaushik

Verwandte Themen