test: add pytest suite — CLI smoke + config/templates/md_to_pdf units

- tests/conftest.py redirects MYTOOLKIT_HOME to a temp dir before imports
  so the module-level Config singleton never touches the real ~/.mytoolkit
- CLI smoke: every registered command answers --help with exit code 0
- unit tests: Config get/set/migrate, templates_registry override/fallback,
  md_to_pdf pure helpers (pandoc-dependent cases skipif-guarded)
- pyproject: dev dependency group (pytest) + pytest config; Makefile: make test
This commit is contained in:
Zhengshou Lai
2026-07-18 11:45:40 +08:00
parent 9174708d10
commit 06704acf60
10 changed files with 458 additions and 1 deletions
+11
View File
@@ -0,0 +1,11 @@
"""Pytest bootstrap: isolate tests from the real ~/.mytoolkit.
config.py and templates_registry.py resolve MYTOOLKIT_HOME at import time
and instantiate a module-level singleton, so the env var must be set before
any mytoolkit module is imported.
"""
import os
import tempfile
os.environ["MYTOOLKIT_HOME"] = tempfile.mkdtemp(prefix="mytoolkit-test-home-")