Hi everyone and good morning to some of you,
Since asyncio and the async/await syntax are both part of Python, I think
that we should extend TestCase to support it. The simplest solution that
I can think of is to create unittest.AsyncTestCase sub-class with the
following extensions:
- create a new event loop and install it in AsyncTestCase.run
- make it possible for setUp, tearDown, and test methods to be async
by calling asyncio.iscoroutinefunction
I wrote my own in a local test before noticing that Martin Richard had
already written and published asynctest [1]. Since then I found the
following projects as well:
- https://github.com/kwarunek/aiounittest
<https://github.com/kwarunek/aiounittest>
- https://github.com/pytest-dev/pytest-asyncio
<https://github.com/pytest-dev/pytest-asyncio>
I think that the community as a whole would benefit from basic support in
unittest for async/await test "user methods". I am personally fond of the
approach of extending unittest.TestCase in asynctest [2] over some of the
other approaches.
Is this something that we want in our Standard Library?
- dave
--
[1]: https://github.com/Martiusweb/asynctest
<https://github.com/Martiusweb/asynctest>
[2]: https://github.com/Martiusweb/asynctest/blob/master/asynctest/case.py
<https://github.com/Martiusweb/asynctest/blob/master/asynctest/case.py>
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/