• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-starter-app-java / 30418537913

29 Jul 2026 03:04AM UTC coverage: 96.119%. Remained the same
30418537913

push

github

web-flow
[CI] Align the test trees and bring them under Spotless, ErrorProne, SpotBugs, and ArchUnit (#56)

# Description

Brings the starter app in line with the test-root rule codified in
valkyrjaio/architecture#79, and
closes the static-analysis gap that left its test tree unchecked by
every tool.

**The test trees had no test root.** Both the `junit` and `sindri-junit`
trees placed tests directly
at `app.unit.*` / `app.functional.*` / `app.fixtures.*`, as siblings of
the application's own
packages. They now sit under `app.tests.*`, matching PHP
`Valkyrja\Tests\`, TypeScript
`tests/Tests/`, and the sibling Java repos (valkyrjaio/valkyrja-java#63,
valkyrjaio/sindri-java#60).
TypeScript's starter app and sindri both carry the root, so it applies
to applications too, not just
frameworks. The one package-private-access test, `app.cli.AppTest`,
stays in the source package —
the single sanctioned exception.

**No tool saw the tests.** Error Prone, SpotBugs, and ArchUnit all
pointed only at
`app/src/main/java`, their own test source sets were empty, and Spotless
targeted `app/src/**/*.java`
alone. Every job's `files:` filter had the matching hole, so a test-only
change skipped all four.
Java has no type-checking gap — `javac` compiles the tests as a
precondition of running them — so
this is purely static analysis. The tests turned out to be clean: no
Error Prone or SpotBugs
findings, and all four new ArchUnit rules passed as written.

**The `sindri-junit` tests are deliberately left out of the analysis
builds.** They assert on classes
produced by a `JavaExec` codegen step, so compiling them under Error
Prone, SpotBugs, or ArchUnit
would mean replicating that generation pipeline in three more builds.
Their namespace is aligned
here; bringing them under analysis is a separate piece of work. Spotless
does format them, since
formatting needs no compilation.

**ArchUnit needed its own rules.** `TestArchitectureTest` is a separate
set from `ArchitectureTest` —
unit-test... (continued)

8 of 8 branches covered (100.0%)

Branch coverage included in aggregate %.

314 of 327 relevant lines covered (96.02%)

6.29 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/src/main/java/app/grpc/data/AppContainerData.java


Source Not Available

The file "src/main/java/app/grpc/data/AppContainerData.java" isn't available on github. Either it's been removed, or the repo root directory needs to be updated.

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc