Sentinel relies on QtTest and CTest to ensure high reliability across core interfaces, stores, and view models.
cmake --preset tests
cmake --build --preset tests
ctest --preset testsctest --test-dir build --output-on-failureTests are organized under the tests/ directory:
tests/unit/core/: Unit tests for C++ core services, memory store, settings store, provider interface, and task planner.tests/unit/ui/: Unit tests for QML view models, property bindings, and state transitions.tests/integration/: Integration tests for SQLite schema migration, settings serialization, and Ollama endpoint discovery.
- Every core service or view model feature must be accompanied by unit tests.
- Use QtTest framework macros (
QVERIFY,QCOMPARE,QSIGNALSPY). - Isolated test databases should use in-memory SQLite (
:memory:) or temporary scratch paths to prevent polluting user application state.