可能重复:
PhpUnit 私有方法测试
在我的单元测试中,我需要调用一个私有方法来将我的装置设置为给定状态。另一方面,我宁愿不公开这种方法。我该怎么做?
可能重复:
PhpUnit 私有方法测试
在我的单元测试中,我需要调用一个私有方法来将我的装置设置为给定状态。另一方面,我宁愿不公开这种方法。我该怎么做?
为什么不保护这些函数并创建一个派生类来进行测试呢?该类可以具有用于测试的公共函数,可以初始化各种变量等。
单元测试私有方法通常是一个坏主意,但如果你真的想要,反射是要走的路。这应该这样做:
$reflection_class = new ReflectionClass($object_under_test);
$method = $reflection_class->getMethod('nameOfMethod');
$method->setAccessible(true);
$method->invoke($object_under_test, $param);
高温高压