Получение ошибки ImportMismatchError при выполнении py.test

Когда я запускаю тесты локально то, что это хорошо работало, но после создания докера и выполнения в контейнере я добираюсь ниже ошибки.

    /usr/local/lib/python3.5/site-packages/_pytest/config.py:325: in _getconftestmodules
    return self._path2confmods[path]
E   KeyError: local('/apis/db/tests')

During handling of the above exception, another exception occurred:
/usr/local/lib/python3.5/site-packages/_pytest/config.py:356: in _importconftest
    return self._conftestpath2mod[conftestpath]
E   KeyError: local('/apis/db/tests/conftest.py')

During handling of the above exception, another exception occurred:
/usr/local/lib/python3.5/site-packages/_pytest/config.py:362: in _importconftest
    mod = conftestpath.pyimport()
/usr/local/lib/python3.5/site-packages/py/_path/local.py:680: in pyimport
    raise self.ImportMismatchError(modname, modfile, self)

_pytest.config.ConftestImportFailure: ImportMismatchError('conftest', '/projects/my_project/db/tests/conftest.py', local('/apis/db/tests/conftest.py'))

/ пчела - это - WORKDIR в Dockerfile.

58
задан 19 May 2017 в 13:26

2 ответа

Удалите все .pyc файлы. Можно сделать это find . -name \*.pyc -delete

7
ответ дан 1 November 2019 в 13:30

Можно установить переменную среды PY_IGNORE_IMPORTMISMATCH=1 для пропуска этого errros. Это должно быть прекрасным в простых случаях как выполнение тестов внутренний и внешний контейнер докера.

3
ответ дан 1 November 2019 в 13:30

Другие вопросы по тегам:

Похожие вопросы: