48

Script.phpというスクリプトがあり、Tests / Script.phpでテストしますが、phpunit Testsを実行すると、テストファイルでテストが実行されません。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)

そして、これが私のスクリプトとテストファイルです:

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

5 に答える 5

60

PHP テストのファイル名は Test.php で終わる必要があります

phpunit mydirxxxxTest.phpディレクトリ mydir で 指定されたすべてのスクリプトを実行します

(phpunitのドキュメントには記載されていないようです)

于 2010-10-15T13:40:46.467 に答える
40

次のphpunit.xmlを作成しましたが、少なくともルートディレクトリでphpunit --configuration phpunit.xmlを実行して、Tests /にあるテストを実行できます

<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         syntaxCheck="false">
  <testsuites>
    <testsuite name="Tests">
      <directory suffix=".php">Tests</directory>
    </testsuite>
  </testsuites>
</phpunit>
于 2009-09-12T14:24:37.633 に答える
10

PHPUnitが自動的に実行することを決定するには、ファイル名の規則に従う必要があると思います:somethingTest.php。

于 2009-09-14T02:32:48.513 に答える
3

あなたは彼らがこれを文書化したと思います。マニュアルを調べたところ、ディレクトリを渡すことができると言われていますが、実際の方法はわかりません。

おそらく、クラス名は、テストスクリプトファイル名のベース名(「.php」以外のすべて)と一致する必要がありますか?

于 2009-09-12T04:06:19.370 に答える
-6
<?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;
}
于 2010-04-23T07:47:12.023 に答える