我有一个类 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 中运行测试时,出现错误:
致命错误:在第 16 行的 C:\wamp\www\DummyTest.php 中的非对象上调用成员函数 getFoo()
为什么 $instance 不是 test__construct() 中的对象,我该如何解决这个问题?