Testing
epresso sites are static, which makes them easy to test. Use pytest and assert on the build output.
Unit-test frontmatter / helpers
.ep page/component frontmatter is Python — import and unit-test it directly
(crumbs builders, loaders, content helpers).
Build + assert on output
Build the site, then assert on generated files:
pythonimport subprocess, pathlibdef test_build_output(tmp_path): subprocess.run(["epresso", "build", str(tmp_path)], check=True) out = tmp_path / "dist" assert (out / "index.html").exists() assert "Hello" in (out / "index.html").read_text()
End-to-end
Serve the built dist/ (or epresso dev) and drive it with your browser/e2e tool
of choice (httpx for headers, Playwright if you need JS). Because pages are
plain HTML, a simple HTTP GET covers most behavior.
epresso itself is tested with pytest (unit) + integration tests against the dev
server. Run them with uv run pytest.