Closed
Description
Here's a simple test case:
import asyncio
import asynctest
async def my_async_function(a, b):
asyncio.sleep(1)
return a + b
class TestMyFunctions(asynctest.TestCase):
async def test_my_async_function(self):
expected_value = 8
value = await my_async_function(4, 4)
self.assertEqual(expected_value, value)
Everything works using an older version of pytest (pytest-5.3.5).
(virtenv) me@me-Latitude-7490:~/src/quicktests/pytest_regression$ python -m pytest -vx
=========================================================================================== test session starts ============================================================================================
platform linux -- Python 3.6.9, pytest-5.3.5, py-1.8.1, pluggy-0.13.1 -- /home/me/.virtualenvs/virtenv/bin/python
cachedir: .pytest_cache
rootdir: /home/me/src/quicktests/tests_pytest_regression
collected 1 item
test_simple.py::TestMyFunctions::test_my_async_function PASSED [100%]
============================================================================================ 1 passed in 0.04s =============================================================================================
For some reason, the test is skipped in newer versions of pytest.
(virtenv) me@me-Latitude-7490:~/src/quicktests/pytest_regression$ pip install pytest --upgrade
(virtenv) me@me-Latitude-7490:~/src/quicktests/pytest_regression$ python -m pytest -vx
=========================================================================================== test session starts ============================================================================================
platform linux -- Python 3.6.9, pytest-5.4.1, py-1.8.1, pluggy-0.13.1 -- /home/me/.virtualenvs/virtenv/bin/python
cachedir: .pytest_cache
rootdir: /home/me/src/quicktests/tests_pytest_regression
collected 1 item
test_simple.py::TestMyFunctions::test_my_async_function SKIPPED [100%]
============================================================================================= warnings summary =============================================================================================
test_simple.py::TestMyFunctions::test_my_async_function
/home/me/.virtualenvs/virtenv/lib/python3.6/site-packages/_pytest/python.py:171: PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped.
You need to install a suitable plugin for your async framework, for example:
- pytest-asyncio
- pytest-trio
- pytest-tornasync
- pytest-twisted
warnings.warn(PytestUnhandledCoroutineWarning(msg.format(nodeid)))
-- Docs: https://docs.pytest.org/en/latest/warnings.html
Also, it seems like AioHTTPTestCase tests are NOT skipped.