[Python-ideas] async unittest.TestCase

Yury Selivanov yselivanov.ml at gmail.com
Wed Oct 10 13:19:11 EDT 2018


Thanks for proposing this.  Yes, it makes sense to have
unittest.AsyncTestCase in 3.8.  AFAIK Lisa Roach (copied) was working
on that (as well as on async Mock object), but I'm not sure what's the
status of her work.  I suggest to search for an open issue for this on
bugs.python.org; if there's none, please create one.  And let's make
this happen.

Yury
On Wed, Oct 10, 2018 at 7:11 AM David Shawley <daveshawley at gmail.com> wrote:
>
> 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
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/



-- 
         Yury


More information about the Python-ideas mailing list