При подготовке материала для [курса][1], нам периодически попадаются интересные статьи, которыми хотелось бы поделиться с вами!
Автор Stefan Scherfke [“Testing (asyncio) coroutines with pytest”][2]
![][3]
PyTest — отличный пакет для тестирования на Python, и с давних пор один из моих любимых пакетов в целом. Он значительно облегчает написание тестов и обладает широкими возможностями по составлению отчетов о непройденных тестах.
Тем не менее, на момент версии 2.7, он менее эффективен в тестировании (asyncio) подпрограмм. Поэтому не стоит пытаться их тестировать таким способом:
# tests/test_coros.py
import asyncio
def test_coro():
loop = asyncio.get_event_loop()
@asyncio.coroutine
def do_test():
yield from asyncio.sleep(0.1, loop=loop)
assert 0 # onoes!
loop.run_until_complete(do_test())
В таком методе много недостатков и излишеств. Единственные интересные строки — те, что содержат операторы yield from и assert.
[Читать дальше →][4]
[1]:
http://otus.ru/lessons/python-dlja-web-razrabotki/?utm_source=habr&utm_medium=affilate&utm_campaign=webdev&utm_term=profi04.09
[2]:
https://stefan.sofa-rockers.org/2015/04/22/testing-coroutines/
[3]:
https://habrastorage.org/web/1a8/064/bed/1a8064beddc2428ea3a95d8f32390d86.png
[4]:
https://habrahabr.ru/post/337108/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut