setTempDirectory($tempDir) ->setDebugMode(true) ->addConfig(__DIR__ . '/../config/config.neon') ->createContainer(); $container->initialize(); /** @var Service1 $service1 */ $service1 = $container->getByType(Service1::class); self::assertInstanceOf(ProxyInterface::class, $service1); self::assertEquals('bar', $service1->foo()); /** @var IService2Factory $service2Factory */ $service2Factory = $container->getByType(IService2Factory::class); self::assertInstanceOf(ProxyInterface::class, $service2Factory); self::assertInstanceOf(Service2::class, $service2Factory->create()); } }