いくつかのテスト ケースを作成しましたが、PHPUnit で試してみたいと思っています。しかし、うまくいきません。実行すると、次のようphpunit CategoryTest
に出力されます。
PHPUnit 3.7.14 by Sebastian Bergmann.
実行するとphpunit --log-json error.log CategoryTest
、error.log ファイルに次のように表示されます。
{"event":"suiteStart","suite":"CategoryTest","tests":5}
{"event":"testStart","suite":"CategoryTest","test":"CategoryTest::test__construct"}
そのため、ファイルに 5 つのテストがあることがわかり、最初のテストを実行し始め、理由もなく停止します。実行を継続しない理由を見つけることができるログはありますか? また、たとえば、他のファイルでテストを実行するとphpunit --log-json error.log UserTest
、シェルは出力を表示せず、error.log ファイルも表示しません。
他の同様の質問の1つで提案されているように、再インストールを試みましたが、何もしませんでした。
どうすれば修正できますか?
require_once '../Category.class.php';
require_once '../../db_connect.php';
require_once 'PHPUnit/Framework/TestCase.php';
class CategoryTest extends PHPUnit_Framework_TestCase {
private $Category;
protected function setUp() {
parent::setUp ();
$this->Category = new Category(0, $mdb2);
}
protected function tearDown() {
$this->Category = null;
parent::tearDown ();
}
public function __construct() {
}
public function test__construct() {
$this->markTestIncomplete ( "__construct test not implemented" );
$cat = $this->Category->__construct(0, $mdb2);
$this->assertInstanceOf('Category', $cat);
}
public function testReturnID() {
$this->markTestIncomplete ( "returnID test not implemented" );
$id = $this->Category->returnID();
$this->assertEquals(0, $id);
}
...
}
変数$mdb2
は db_connect.php ファイルから取得されます。
私はそれを考え出した。問題は、クラスの外部から変数を含めたことです。