Add example unit test and config for testing

Add testing configuration:
 - pytest as test framework
 - tox for creating testing environments and running tests (run with `tox`)
 - pytest-asycio for asyncio testing
 - coverage/pytest-cov for measuring test coverage
 - flake8 for pep8 checking

I've also added one quick example test demonstrating basic unit testing
and use of the basic fixtures and marks provided by pytest-asyncio.

Just this already covers a suprising 32% of the codebase, mostly through
imports, but I wouldn't expect it to be helpful yet. This should provide
a good base to build on in the future though.
This commit is contained in:
NotAFile
2019-12-07 03:43:04 +01:00
parent b8aa639f3c
commit a4876c1ac5
7 changed files with 93 additions and 1 deletions

22
tox.ini Normal file
View File

@@ -0,0 +1,22 @@
[tox]
envlist = py35,py36,py37,py38
[testenv]
deps =
-rrequirements.txt
-roptional-requirements.txt
-rdev-requirements.txt
commands =
# NOTE: you can run any command line tool here - not just tests
pytest {posargs}
# run with tox -e flake
[testenv:flake]
deps =
-rrequirements.txt
-roptional-requirements.txt
-rdev-requirements.txt
flake8
commands =
# TODO: move options to dedicated flake8 config
flake8 --exclude telethon/tl/,telethon/errors/rpcerrorlist.py --ignore E501,F401 telethon/ tests/