from tests.conftest import ... levait ModuleNotFoundError en CI : le binaire pytest n'ajoute pas le répertoire courant à sys.path, contrairement à python -m pytest (utilisé en local, qui masquait le problème). Correctifs : tests/__init__.py (package), pythonpath=[.] dans la config pytest, et étape CI en python -m pytest. Vérifié : 36/36 dans les trois modes d'invocation.
This commit is contained in:
@@ -17,4 +17,4 @@ jobs:
|
|||||||
- name: Compile check
|
- name: Compile check
|
||||||
run: python -m py_compile app/*.py
|
run: python -m py_compile app/*.py
|
||||||
- name: Tests
|
- name: Tests
|
||||||
run: pytest -q
|
run: python -m pytest -q
|
||||||
|
|||||||
@@ -24,3 +24,7 @@ dev = [
|
|||||||
[tool.pytest.ini_options]
|
[tool.pytest.ini_options]
|
||||||
testpaths = ["tests"]
|
testpaths = ["tests"]
|
||||||
asyncio_mode = "auto"
|
asyncio_mode = "auto"
|
||||||
|
# Always put the repo root on sys.path: the plain `pytest` binary (CI)
|
||||||
|
# does not add the CWD, unlike `python -m pytest` — without this,
|
||||||
|
# `from tests.conftest import ...` fails at collection time in CI.
|
||||||
|
pythonpath = ["."]
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
"""Kanbante test suite.
|
||||||
|
|
||||||
|
This package marker matters: with it, pytest puts the repository root on
|
||||||
|
sys.path, so `from tests.conftest import ...` resolves identically
|
||||||
|
whether the suite is launched via the `pytest` binary (CI) or via
|
||||||
|
`python -m pytest` (which additionally adds the CWD). The root is also
|
||||||
|
pinned explicitly through `pythonpath` in pyproject.toml.
|
||||||
|
"""
|
||||||
Reference in New Issue
Block a user