2009-09-12 67 views
33

我有一個名爲Script.php的腳本並在Tests/Script.php中進行測試,但是當我運行phpunit測試時,它不會在我的測試文件中執行任何測試。我如何使用phpunit運行所有測試?如何運行我所有的PHPUnit測試?

PHPUnit的3.3.17,PHP 5.2.6-3ubuntu4.2,最新的Ubuntu

輸出:

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

這裏是我的腳本和測試文件:

腳本.php

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

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

回答

28

我創建了以下phpunit.xml,現在至少我可以做PHPUnit的--configuration phpunit.xml在我的根目錄運行位於測試測試/

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

你認爲他們會證明這一點。我只是查看手冊,他們說你可以傳遞一個目錄,但不知道如何去做。

也許您的類名稱必須與您的測試腳本文件名的基本名稱(除「.php」之外的所有內容)匹配?

8

我認爲forPHPUnit到決定自動運行它必須遵循文件名約定:somethingTest.php。

+0

這種變化命名爲xxxxTest.php所有腳本爲我工作 – Stephanie 2014-07-31 16:41:33

-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

PHP測試的文件名必須用test.php的結束

phpunit mydir將運行在mydir目錄

(看起來喜歡它不是PHPUnit文檔中所述)

+0

它不是必須的。如果您的測試文件以「TestCase.php」結尾,您可以指定--test-suffix「TestCase.php」,但默認情況下,當我們未在命令中指定後綴時,phpunit僅接受後綴爲「Test.php」線 – kaushik 2015-01-02 02:53:27

相關問題