Taking a look at the code, this may require a bit more discussion.
Mock's classes create copies of themselves when an attribute is accessed. As such, I can't just add __aexit__ and have it generate a different mock type entirely, unless I know exactly what an async variant of this mock is.
If there was a way to specifically provide a function for asynchronous situations, like __acall__, that would make this a lot easier as well.
Anyway, my proposal now is:
create new classes MockAsync and MagicMockAsync, and have MockAsync and MagicMockAsync implement the __aexit__ and __aenter__ methods.
How is that as an approach?