Всем добрый день, есть проблема, никак не могу написать stup.py чтобы тесты работыли. Итого, имеем: Структура проекта
/bin
/project
/tests
setup.cfg
setup.py
setup.cfg
[aliases]
test=pytest
[tool:pytest]
addopts = --verbose -s --cov=project --cov-report term-missing
setup.py
import os
import sys
from setuptools import setup, find_packages
PY_VER = sys.version_info
PACKAGE_TYPE = 'service'
PACKAGE_NAME = 'project'
PACKAGE_DESC = 'Service for tracking call info into DB'
if PY_VER < (3, 5):
raise RuntimeError(
"{} doesn't suppport Python earlier than 3.5".format(PACKAGE_NAME),
)
# Что нужно для запуска python setup.py <any_cmd>
setup_requires = ['pytest-runner']
# Что нужно для установки
install_requires = []
# Что нужно для запуска python setup.py test
tests_require = ['pytest', 'pytest-cov', 'asynctest']
# Зависимости
dependency_links = []
# Скрипты
scripts = []
if PACKAGE_TYPE == 'service':
scripts.append('bin/{}'.format(PACKAGE_NAME))
setup(
name=PACKAGE_NAME,
version='1.0',
description=PACKAGE_DESC,
long_description="",
url='https://git.dev.uiscom.ru/{}/{}'.format(PACKAGE_TYPE, PACKAGE_NAME),
author="...",
author_email="...",
license="Nodefined",
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Framework :: AsyncIO',
'Framework :: Pytest',
'Intended Audience :: Customer Service',
'Intended Audience :: Information Technology',
'License :: Other/Proprietary License',
'Natural Language :: Russian',
'Natural Language :: English',
'Operating System :: POSIX',
'Programming Language :: Python :: 3.5',
'Topic :: Microservices',
],
zip_safe=False,
packages=find_packages(exclude=['tests']),
scripts=scripts,
python_requires='>=3.5',
setup_requires=setup_requires,
install_requires=install_requires,
tests_require=tests_require,
dependency_links=dependency_links,
)
Все это разворачивается в virtualenv. Если в нем установлены зависимости для тестов ('pytest', 'pytest-cov', 'asynctest') то тесты работают. Но на продакшене они мне не нужны, по-этому определил их в секцию tests_require. В итоге, когда проверяю
python setup.py test
Имею ошибку:
E fixture 'event_loop' not found
> available fixtures: bus, cache, capfd, capsys, cdr, cfg, cov, doctest_namespace, monkeypatch, pytestconfig, record_xml_property, recwarn, redis_pool, s_cdr, s_service, s_session, service, session, tmpdir, tmpdir_factory
> use 'pytest --fixtures [testpath]' for help on them.
т.е. почему то не видит фикстуры event_loop... Не знаю что с этим делать...(пробовал вызывать python setup.py test после python setup.py [build|...] - не помогло)