31 lines
1.9 KiB
INI
31 lines
1.9 KiB
INI
[pytest]
|
|
# addopts: Default CLI options applied to every pytest run.
|
|
# -ra → Show extra test summary info for skipped, xfailed, etc.
|
|
# --junitxml=... → Emit JUnit XML for CI systems (machines can parse it).
|
|
# --html=... → Generate a human-friendly HTML report after each run.
|
|
# --self-contained-html → Inline CSS/JS in the HTML report for easy sharing.
|
|
# --tb=short → Short tracebacks to keep logs readable.
|
|
# Plugin note: We no longer force-load via `-p conftest_plugin` to avoid ImportError
|
|
# on environments where the file might be missing. Instead, `conftest.py` will
|
|
# register the plugin if present. The plugin:
|
|
# - extracts Title/Description/Requirements/Steps from test docstrings
|
|
# - adds custom columns to the HTML report
|
|
# - writes requirements_coverage.json and summary.md in reports/
|
|
addopts = -ra --junitxml=reports/junit.xml --html=reports/report.html --self-contained-html --tb=short --cov=ecu_framework --cov-report=term-missing
|
|
|
|
# markers: Document all custom markers so pytest doesn't warn and so usage is clear.
|
|
# Use with: pytest -m "markername"
|
|
markers =
|
|
hardware: requires real hardware (BabyLIN device and ECU); excluded by default in mock runs
|
|
babylin: tests that use the BabyLIN interface (may require hardware)
|
|
unit: fast, isolated tests (no hardware, no external I/O)
|
|
req_001: REQ-001 - Mock interface shall echo transmitted frames for local testing
|
|
req_002: REQ-002 - Mock interface shall synthesize deterministic responses for request operations
|
|
req_003: REQ-003 - Mock interface shall support frame filtering by ID
|
|
req_004: REQ-004 - Mock interface shall handle timeout scenarios gracefully
|
|
smoke: Basic functionality validation tests
|
|
boundary: Boundary condition and edge case tests
|
|
|
|
# testpaths: Where pytest looks for tests by default.
|
|
testpaths = tests
|