smarie / python-pytest-steps

A tiny package to ease the creation of test steps with shared intermediate results/state.
https://smarie.github.io/python-pytest-steps/
BSD 3-Clause "New" or "Revised" License
56 stars 5 forks source link

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

Open minzoovv opened 4 years ago

minzoovv commented 4 years ago

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 :)

smarie commented 4 years ago

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 commented 4 years ago

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

Vernadskii commented 1 year ago

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

smarie commented 1 year ago

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!