This directory covers the core behavior of Evret across metrics, evaluation, retrievers, framework adapters, judges, and Docker-backed integrations.
| Area | Path | Coverage |
|---|---|---|
| Metrics | tests/metrics/ |
Hit Rate, Recall, Precision, MRR, NDCG, and Average Precision scoring behavior. |
| Evaluation | tests/evaluation/ |
Dataset loading, evaluator orchestration, result summaries, exports, and default relevance matching. |
| Judges | tests/judges/ |
Token overlap judging and LLM provider wiring with mocked clients. |
| Retrievers | tests/retrievers/ |
Base retriever validation plus Qdrant, Chroma, Milvus, and Weaviate adapter behavior with mocked clients. |
| Framework integrations | tests/integrations/ |
LangChain and LlamaIndex adapter behavior when optional packages are installed. |
| Docker integrations | tests/integration/ |
End-to-end Qdrant and Chroma retrieval against real containers. |
| Shared utilities | tests/test_utils.py |
Name, k-value, and dataset path validation helpers. |
For the default test suite:
uv pip install -e ".[dev]"For all optional integration coverage:
uv pip install -e ".[integration]"Run the default suite:
pytestRun a focused area:
pytest tests/metrics
pytest tests/evaluation
pytest tests/retrievers/test_qdrant.pyRun Docker-backed integration tests:
EVRET_RUN_INTEGRATION=1 pytest -m integrationThe integration tests require Docker to be running. Without EVRET_RUN_INTEGRATION=1, they are skipped.
Run everything except Docker-backed tests:
pytest -m "not integration"