createMock(Container::class); $injectableFactory = new InjectableFactory($container); $bindingData = new BindingData(); $binder = new Binder($bindingData); $instance = $this->createMock(SomeInterface::class); $binder->bindCallback( SomeInterface::class, function () use ($instance): SomeInterface { return $instance; } ); $obj = $injectableFactory->createWithBinding(SomeClass::class, new BindingContainer($bindingData)); $this->assertNotNull($obj); $this->assertSame($instance, $obj->get()); } }