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/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
[2]: https://github.com/Martiusweb/asynctest/blob/master/asynctest/case.py