diff --git a/phpstan.neon b/phpstan.neon index bc3376c9..0e600174 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -2,3 +2,5 @@ parameters: level: 7 paths: - src/ + ignoreErrors: + - '#Cannot call method getName\(\) on ReflectionType\|null.#' diff --git a/test/CodeGenerator/AbstractInjectorTest.php b/test/CodeGenerator/AbstractInjectorTest.php index 0f1a5ba0..daceb7b3 100644 --- a/test/CodeGenerator/AbstractInjectorTest.php +++ b/test/CodeGenerator/AbstractInjectorTest.php @@ -13,6 +13,7 @@ use Prophecy\Argument; use Prophecy\Prophecy\ObjectProphecy; use Psr\Container\ContainerInterface; +use ReflectionProperty; use stdClass; use Zend\Di\CodeGenerator\AbstractInjector; use Zend\Di\CodeGenerator\FactoryInterface; @@ -187,17 +188,22 @@ public function testConstructionWithoutContainerUsesDefaultContainer() public function testFactoryIsCreatedFromClassNameString() { $subject = $this->createTestSubject(function () { - return ['SomeClass' => StdClassFactory::class ]; + return ['SomeClass' => StdClassFactory::class]; }); + $factoryInstancesProperty = new ReflectionProperty(AbstractInjector::class, 'factoryInstances'); + $factoriesProperty = new ReflectionProperty(AbstractInjector::class, 'factories'); + $factoryInstancesProperty->setAccessible(true); + $factoriesProperty->setAccessible(true); + $this->assertSame( StdClassFactory::class, - self::readAttribute($subject, 'factories')['SomeClass'] ?? null + $factoriesProperty->getValue($subject)['SomeClass'] ?? null ); $this->assertInstanceOf(stdClass::class, $subject->create('SomeClass')); $this->assertInstanceOf( StdClassFactory::class, - self::readAttribute($subject, 'factoryInstances')['SomeClass'] ?? null + $factoryInstancesProperty->getValue($subject)['SomeClass'] ?? null ); } }