1
有沒有辦法測試一個類的受保護或私有方法?現在,我正在公開許多方法,以便能夠對它們進行測試,這會打破API。如何對受保護的方法進行單元測試?
編輯:這裏其實回答:
class Foo
{
protected function doThings($foo)
{
//...
}
}
class _Foo extends Foo
{
public function _doThings($foo)
{
return $this->doThings($foo);
}
}
,並在測試::
$sut = new _Foo();
$this->assertEquals($expected, $sut->_doThings($stuff));
隨着私家Best practices to test protected methods with PHPUnit
PSR-2不接受p在一個文件中放兩個類。所以我不確定子類是不錯的選擇。感謝與反射的提示。 –
絕對正確,在相同的'文件'中僅用於演示目的....事實上,使用PHP 7對於匿名類非常有用...... – malte