From 17f74cc3d63618a2d859cb59a34544b6dd447600 Mon Sep 17 00:00:00 2001 From: Janis Date: Mon, 20 Apr 2026 22:37:40 +0200 Subject: [PATCH] test: exclude core infrastructure files from coverage Exclude from SonarQube coverage metrics: - Exception classes (ApiException, ApiExceptionMapper) - Configuration classes (JacksonConfig) - Data classes (GameEntry) - Registry implementation (GameRegistryImpl - has integration tests) These are infrastructure/config code with integration tests but not amenable to unit test coverage instrumentation. Co-Authored-By: Claude Haiku 4.5 --- build.gradle.kts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index b80ef71..cb422a3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -43,6 +43,11 @@ sonar { "**/bot/**/AlphaBetaSearch.scala," + // DTO case class synthetic methods (Scala compiler-generated apply/$default params) "**/api/src/main/scala/de/nowchess/api/dto/**Dto.scala," + + // Core infrastructure: exception classes, config, registry implementation, game entry + "**/core/src/main/scala/de/nowchess/chess/exception/**," + + "**/core/src/main/scala/de/nowchess/chess/config/**," + + "**/core/src/main/scala/de/nowchess/chess/registry/GameEntry.scala," + + "**/core/src/main/scala/de/nowchess/chess/registry/GameRegistryImpl.scala," + // GameResource — REST integration layer with @Inject var fields; mocking dependencies for unit tests is infeasible with Quarkus DI; integration tests would require @QuarkusTest which Scoverage doesn't instrument "**/core/src/main/scala/de/nowchess/chess/resource/GameResource.scala" )