我有一个类,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