web-dev-qa-db-ja.com

py.testの実行中にエラーImportMismatchErrorを取得する

ローカルでテストを実行すると問題なく動作しますが、Dockerを作成してコンテナ内で実行すると、エラーが発生します。

    /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'))

/ apis-DockerfileのWORKDIR。

62
A J

__pycache__などに隠されているcoverage/fullcoverage /にjupyter notebookファイルが見つかりました.

フォルダに移動してrm -r __pyache__/を使用するだけです。これでpytestが処理されます。

0
Harry_pb