nyholm / nsa
查看一切,做你想做的。没有任何隐私规则能阻止我们。在测试、调试和固定测试用例中用于访问属性和方法。
1.3.0
2021-07-15 18:25 UTC
Requires
- php: >=7.1
- webmozart/assert: ^1.1.0
Requires (Dev)
- symfony/phpunit-bridge: ^4.4 || ^5.1
README
这个小型类可以帮助您测试您的私有和受保护的属性和方法。有人可能会说您永远不应该测试私有方法,但有时这确实可以让测试代码更干净、更容易编写和理解。这个库全部关于开发体验(DX)。
用法
$object = new Dog(); NSA::setProperty($object, 'name', 'Foobar'); $name = NSA::getProperty($object, 'name'); $result = NSA::invokeMethod($object, 'doAction', 'jump', '1 meter'); echo $name; // "Foobar" echo $result; // "Dog just did 'jump' for 1 meter" // Access static properties and methods $age = NSA::getProperty('\Dog', 'age'); echo $age; // 12
class Dog { private $name = 'unnamed'; private static $age = 12; private function doAction($action, $parameter) { return sprintf("Dog just did '%s' for %s", $action, $parameter); } }
安装
$ composer require nyholm/nsa
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。