- replace legacy mockito-all with mockito-junit-jupiter - add tests for AppState, MQTT service, process manager, and animation file service - rewrite service tests for stronger edge-case coverage - refactor services for testability (MQTT client/process launcher/output path injection) - fix duplicate payload ID handling in BinaryEventService - update README and docs testing/source-map sections
1.2 KiB
1.2 KiB
Testing
Run Tests
mvn test
Current Test Suite
Located in:
src/test/java/vassistent/model/AppStateTestsrc/test/java/vassistent/service/AnimationFileServiceTestsrc/test/java/vassistent/service/BinaryEventServiceTestsrc/test/java/vassistent/service/DataPersistenceServiceTestsrc/test/java/vassistent/service/EvaluationServiceTestsrc/test/java/vassistent/service/MqttClientServiceTestsrc/test/java/vassistent/service/ProcessManagerServiceTestsrc/test/java/vassistent/service/StatisticsServiceTest
Coverage focus:
- state change notifications
- payload validation and processing flow
- level evaluation thresholds
- MQTT lifecycle and topic routing
- process launch/shutdown command sequencing
- animation file output mapping
- SQLite persistence behavior
- rolling averages and ratio calculations
Current Status (Java 17)
- full suite passes with
mvn test - test stack:
org.junit.jupiter:junit-jupiterorg.mockito:mockito-junit-jupiter
Notes
- some tests are integration-style and use temporary SQLite databases
- test output may include logger lines because services log during execution