web-dev-qa-db-ja.com

すべてのPHPUnitテストを実行するにはどうすればよいですか?

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

私は次の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>
34
JJ.

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

phpunit mydirは、ディレクトリmydirでxxxxTest.phpという名前のすべてのスクリプトを実行します

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

57
Mabrouk

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

10
Dean Rather

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

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

2
JasonWoof