使用 PHPUnit 测试受保护方法的最佳实践
发布于 2022-04-11 13:22:36
关注者
0
被浏览
41
1 个回答
-
如果您将 PHP5 (>= 5.3.2) 与 PHPUnit 一起使用,则可以通过在运行测试之前使用反射将它们设置为公共来测试私有和受保护方法:
protected static function getMethod($name) { $class = new ReflectionClass('MyClass'); $method = $class->getMethod($name); $method->setAccessible(true); return $method; } public function testFoo() { $foo = self::getMethod('foo'); $obj = new MyClass(); $foo->invokeArgs($obj, array(...)); ... }