我开始玩phpunit了,我对OO PHP的曝光是有限的,所以我觉得我缺少一些基本的东西。设置非常简单的测试时,我收到错误Trying to get property of non-object
。
这就是我要测试的内容
class Employee
{
protected $jobTypeModifier, $manager, $id;
public $name, $employee, $years, $allowances, $allowances_left, $extra, $carried, $totalTaken, $holidays;
function Employee($id)
{
$this->jobTypeModifier = 1;
$this->manager = 0;
$this->totalTaken = 0;
$this->setEmployeeId($id);
}
function myId()
{
return $this->id;
}
}
这是我的考试
class EmployeeTest extends PHPUnit_Framework_TestCase
{
protected $employee;
protected function setUp(){
$this->employee = new Employee(1);
}
protected function tearDown() {
unset($this->employee);
}
public function testMyId()
{
$actual = $this->employee->myId();
$expected = 1;
$this->assertEquals($actual, $expected);
}
}
我认为我遗漏了一些基本/明显的东西?
答案 0 :(得分:2)
确定,
首先从PHP 5.3.3开始,您的“员工”将不会被视为 构建但只是常规方法。使用__construct作为构造函数。 检查你有哪个版本的PHP。
在您的方法Employee
中调用不存在的方法setEmployeeId
逐行分隔您的媒体资源
在定义方法时使用public / protected / private
在断言中,期望值应作为第一个参数传递