Files
2026-07-13 13:32:05 +08:00

62 lines
1.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# tests/conftest.py
from pathlib import Path
import pytest
@pytest.fixture(autouse=True)
def deepeval_isolated_no_disk(tmp_path, monkeypatch):
hidden = tmp_path / ".deepeval"
hidden.mkdir(parents=True, exist_ok=True)
# import the modules we need to patch
import deepeval.constants as consts
import deepeval.key_handler as keyh
import deepeval.test_run.test_run as tr
import deepeval.dataset.dataset as ds
# point both constants modules at our isolated dir
monkeypatch.setattr(consts, "HIDDEN_DIR", str(hidden), raising=False)
monkeypatch.setattr(keyh, "HIDDEN_DIR", str(hidden), raising=False)
tmp_temp = hidden / ".temp_test_run_data.json"
tmp_latest = hidden / ".latest_test_run.json"
# patch both modules that reference these file paths:
for mod in (tr, ds):
monkeypatch.setattr(mod, "TEMP_FILE_PATH", str(tmp_temp), raising=False)
monkeypatch.setattr(
mod, "LATEST_TEST_RUN_FILE_PATH", str(tmp_latest), raising=False
)
# make sure the manager uses our temp file path,
# and disable writes and uploads
tr.global_test_run_manager.temp_file_path = str(tmp_temp)
tr.global_test_run_manager.save_to_disk = False
tr.global_test_run_manager.disable_request = True
# at the class level ensure no disk writing methods so a plugin
# or code path cant write anyway.
monkeypatch.setattr(
tr.TestRunManager,
"save_test_run",
lambda self, *a, **k: None,
raising=False,
)
monkeypatch.setattr(
tr.TestRunManager,
"save_final_test_run_link",
lambda self, *a, **k: None,
raising=False,
)
monkeypatch.setattr(
tr.TestRunManager,
"save_test_run_locally",
lambda self: None,
raising=False,
)
# ensure the dir exists before portalocker could be touched by anything else
hidden.mkdir(parents=True, exist_ok=True)
yield