我有一個類,DummyClass,其存儲被創建的對象實例時的值,使用構造:對象實例變爲非對象在測試功能
class DummyClass
{
private $foo = '';
function __construct($foobar)
{
$this->foo = $foobar;
}
public function getFoo() { return $foo; }
}
然後我有一個測試類DummyTest,它使用setUp()構造DummyClass的一個實例。然後,在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的運行測試中,我得到的錯誤:
Fatal error: Call to a member function getFoo() on a non-object in C:\wamp\www\DummyTest.php on line 16
$ instance如何不是test__construct()中的對象,我該如何解決這個問題?
$ foobar = $ this-> instance-> getFoo(); NOT $ foobar = $ instance-> getFoo(); – 2013-03-01 12:19:17
也不是'public function getFoo(){return $ foo; }'but'public function getFoo(){return $ this-> foo; } – jasir 2013-03-01 12:21:02
感謝您分享這些信息。我也首先想到了這一點。 – 2013-03-01 13:09:54