python-pytest-steps icon indicating copy to clipboard operation
python-pytest-steps copied to clipboard

pytest-steps is not compatible with async functions (pytest.mark.asyncio)

Open minzoovv opened this issue 5 years ago • 4 comments

I found the pytest-steps and I'm trying to use it my code, but some functions in my code is async function, so I'm curious about that this module is compatible with pytest.mark.asyncio or other async functions!

I'll wait your comment and have a nice day :)

minzoovv avatar Oct 02 '19 06:10 minzoovv

Thanks for reaching out ! Any feedback is always great

I have not tested this plugin with async functions. However I do not see any reason why this would not be compliant, as long as the test functions are normal functions (or generators if you use the new syntax with yield statements, ).

Let me know if it does not work for you - in that case please send a "minimum reproducible example" of the errors you are facing.

smarie avatar Oct 04 '19 12:10 smarie

Closing this issue as it seems solved. Please reopen if this is not the case.

smarie avatar Nov 05 '19 12:11 smarie

There is no way to run async functions in sync function. As I see your decorators type on default is sync. I guess it's not compatible at all :c

Vernadskii avatar Oct 28 '22 13:10 Vernadskii

good point @VernadskyDanya : I guess that pytest.mark.asyncio makes pytest run this async directly in the event loop, so the pytest-steps decorator which creates a sync function wrapper, is not compliant. Thanks for the precision!

smarie avatar Nov 25 '22 22:11 smarie