コンストラクターを使用して、オブジェクト インスタンスの作成時に値を格納する DummyClass クラスがあります。
class DummyClass
{
private $foo = '';
function __construct($foobar)
{
$this->foo = $foobar;
}
public function getFoo() { return $foo; }
}
次に、setUp() を使用して DummyClass のインスタンスを構築するテスト クラス DummyTest を取得します。次に、test__construct() で、自身のプロパティ $foo と DummyClass インスタンスから返された変数が等しいことをアサートします。
require_once 'DummyClass.php';
class DummyTest extends PHPUnit_Framework_TestCase
{
public $instance = NULL;
public $foo;
public function setUp()
{
$foo = 'bar';
$this->instance = new DummyClass($foo);
}
public function test__construct()
{
$foobar = $instance->getFoo();
$this->assertEquals($foobar, $foo);
}
}
ただし、phpunit でテストを実行すると、エラーが発生します。
致命的なエラー: 16 行目の C:\wamp\www\DummyTest.php の非オブジェクトでメンバー関数 getFoo() を呼び出します
$instance が test__construct() のオブジェクトではないのはなぜですか? どうすればこの問題を解決できますか?