Hi

On 7/15/24 09:25, Nicolas Grekas wrote:
Testing is actually a good domain where resetting lazy objects might open
interesting use cases.
This reminded me about zenstruck/foundry, which leverages the
LazyProxyTrait to provide refreshable fixture objects
<https://symfony.com/bundles/ZenstruckFoundryBundle/current/index.html#auto-refresh>
and provides nice DX thanks to this capability.


I have not used this library before, but I have taken a (very) brief look at the code and documentation.

My understanding is that all the fixture objects are generated by a corresponding Factory class. This factory clearly has the capability of constructing objects by itself, so it could just create a lazy proxy instead?

I'm seeing the `instantiateWith()` example in the documentation where the user can return a constructed object themselves, but I'm not seeing how that can safely be combined with the `reset*()` methods: Anything special the user did to construct the object would be reverted, so the user might as well rely on the default construction logic of the factory then.

What am I missing?

Best regards
Tim Düsterhus

Reply via email to