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());
}
}
?>
私は次の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>
PHPテストのファイル名はTest.phpで終わる必要があります
phpunit mydir
は、ディレクトリmydirでxxxxTest.php
という名前のすべてのスクリプトを実行します
(phpunitのドキュメントに記載されていないようです)
PHPUnitで自動的に実行することを決定するには、somethingTest.phpというファイル名の規則に従う必要があります。
あなたは彼らがこれを文書化したと思うでしょう。私はマニュアルを調べたところ、ディレクトリを渡すことができると言っていますが、実際にはそれを行う方法はありません。
クラス名は、テストスクリプトのファイル名のベース名(「.php」以外のすべて)に一致する必要がありますか?