gollumsf / reflection-property-test
为反射数据添加特性并调用
v1.0.6
2022-05-02 14:58 UTC
Requires (Dev)
- doctrine/orm: *
- phpunit/phpunit: ^8.5
README
为反射数据添加特性
安装
composer require gollumsf/reflection-property-test
用法
use GollumSF\ReflectionPropertyTest\ReflectionPropertyTrait; class MyPrivate { private $dataPrivate = 10; private function functionPrivate($value) { return 11 + $value; } } class MyExtend extends MyPrivate { } class MyTest extends TestCase { use ReflectionPropertyTrait; testMyFunction() { $obj = new MyPrivate(); $this->assertEqual($this->reflectionGetValue($obj, 'reflectionGetValue'), 10); $this->reflectionSetValue($obj, 'reflectionGetValue', 20); $this->assertEqual($this->reflectionGetValue($obj, 'reflectionGetValue'), 20); $this->assertEqual($this->reflectionGetValue($obj, 'functionPrivate', [ 19 ]), 30); $obj2 = new MyExtend(); $this->assertEqual($this->reflectionGetValue($obj2, 'reflectionGetValue', MyPrivate::class), 10); $this->reflectionSetValue($obj2, 'reflectionGetValue', 20, MyPrivate::class); $this->assertEqual($this->reflectionGetValue($obj2, 'reflectionGetValue', MyPrivate::class), 20); $this->assertEqual($this->reflectionGetValue($obj2, 'functionPrivate', [ 19 ], MyPrivate::class), 30); } }