@@ -32,7 +32,7 @@ A modern, containerized file storage service with REST API, built with Quarkus a
3232- 📊 ** Observability** : Prometheus metrics and structured logging
3333- 🔒 ** Security** : CodeQL scanning and dependency updates via Dependabot
3434- ✅ ** Quality** : Checkstyle, PMD, and SpotBugs static analysis
35- - 🧪 ** Tested** : 80 % code coverage + comprehensive integration tests
35+ - 🧪 ** Tested** : 70 % code coverage + comprehensive integration tests + PIT mutation testing
3636- 📖 ** API Documentation** : OpenAPI/Swagger UI included
3737- 🌐 ** REST API** : Simple, well-documented file storage API
3838
@@ -306,8 +306,12 @@ docker-compose logs -f
306306
307307- ** Unit Tests** : JUnit 5 with Mockito
308308- ** Integration Tests** : Testcontainers + Docker Compose
309- - ** Code Coverage** : Jacoco reporting with 80 % threshold
309+ - ** Code Coverage** : Jacoco reporting with 70 % threshold
310310 - Test reports visible in _ build/jacocoHtml/index.html_
311+ - ** Mutation Testing** : PIT (PITest) with enforced thresholds
312+ - Client: 40% mutation score threshold
313+ - Server: 70% mutation score threshold
314+ - Reports visible in _ build/reports/pitest/index.html_
311315- ** Continuous Integration** : GitHub Actions with automated testing
312316
313317Run all tests:
@@ -323,6 +327,16 @@ Run with coverage:
323327# View coverage report: open file-storage-server/build/jacocoHtml/index.html
324328```
325329
330+ Run mutation testing:
331+
332+ ``` bash
333+ ./gradlew pitest
334+ # View client report: open file-storage-client/build/reports/pitest/index.html
335+ # View server report: open file-storage-server/build/reports/pitest/index.html
336+ ```
337+
338+ ** Note** : Mutation testing is automatically run as part of the build. The build will fail if mutation scores drop below the configured thresholds.
339+
326340---
327341
328342## 📚 API Documentation
0 commit comments