Я портирую существующий код проекта на python 3.7, а также буду поддерживать его совместимость с python 2.7.
У нас есть куча юнит-тестов и файл setup.py, определяющий setup ():
def my_test_suite():
test_loader = unittest.TestLoader()
test_suite = test_loader.discover('sys/unittests', pattern='test_mytest.py')
return test_suite
if __name__ == '__main__':
setup(name='xxxx',
version='0.0.1',
description='blah blah',
author='myTeam',
author_email='xyz@abcd.com',
license='MIT',
packages=find_packages(),
scripts=['apid'],
test_suite='setup.my_test_suite',
install_requires=[
'docker',
'enum34',
'ipaddress',
'netifaces',
'psutil',
'pytest-mock',
'pyyaml',
'request_id',
'semver',
'validators',
'web.py',
],
include_package_data=True,
zip_safe=False)
Когда я выполняю следующую команду:
python setup.py test
Эта команда дает подробный ожидаемый результат (информацию о названии теста, состоянии и т. Д.) С Python 2.7, например,
[commonutils] - Test validate_hostname_err method .................... ... systemapi ERROR common_utils MainThread Hostname is not valid: -test-01
ok
Однако,для Python 3.7 такая информация (отчет) не предоставляется, а только ожидаемое сообщение об ошибке (отрицательный тестовый случай), такое же, как указано выше, например
systemapi ERROR common_utils MainThread Hostname is not valid: -test-01
Я также пытался использовать -v (--verbose), но это не такТ помогло. Я просмотрел документацию по python 3.x для unittest, но не смог найти такое изменение, которое вызовет эту проблему. Любая помощь высоко ценится.