mit einem Klick
jacoco
Check JaCoCo code coverage
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Menü
Check JaCoCo code coverage
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Basierend auf der SOC-Berufsklassifikation
Project coding standards and conventions for Java 17 with Lombok, spring-javaformat, checkstyle, and PMD
Implement a GitHub issue with branch and pull request workflow
Create or update a GitHub issue for tracking work
Save a learning to project memory. Invoke automatically (without user asking) whenever a task required more than one fix cycle to resolve — e.g. a test failed and needed a second attempt, a compile error required a correction, an API behaved unexpectedly, or an assumption proved wrong mid-task. Also invoke when the user explicitly asks to remember something. Do NOT invoke for routine single-pass work.
Build the project with Maven
Plan the implementation of a GitHub issue
| name | jacoco |
| description | Check JaCoCo code coverage |
| argument-hint | [class-name] |
| allowed-tools | Bash(bash *), Bash(python3 *) |
Run verify to generate coverage reports, then parse and display results.
bash "/Users/alex.mondshain/Library/Application Support/JetBrains/IntelliJIdea2025.3/plugins/maven/lib/maven3/bin/mvn" verify -f pom.xml -pl spring-boot-config-json-schema-starter -q
python3 -c "
import xml.etree.ElementTree as ET
THRESHOLD = 80
module = 'spring-boot-config-json-schema-starter'
try:
tree = ET.parse(f'{module}/target/site/jacoco/jacoco.xml')
root = tree.getroot()
for counter in root.findall('counter'):
if counter.get('type') == 'LINE':
missed = int(counter.get('missed'))
covered = int(counter.get('covered'))
total = missed + covered
pct = covered / total * 100 if total > 0 else 0
status = 'PASS' if pct >= THRESHOLD else 'FAIL'
print(f'{module:<45} {covered:>8} {total:>8} {pct:>9.2f}% {status:>8}')
except FileNotFoundError:
print(f'{module}: No coverage report found')
"
python3 -c "
import xml.etree.ElementTree as ET
module = 'spring-boot-config-json-schema-starter'
tree = ET.parse(f'{module}/target/site/jacoco/jacoco.xml')
root = tree.getroot()
results = []
for pkg in root.findall('.//package'):
for cls in pkg.findall('class'):
for counter in cls.findall('counter'):
if counter.get('type') == 'LINE':
missed = int(counter.get('missed'))
covered = int(counter.get('covered'))
total = missed + covered
if total > 0:
pct = covered / total * 100
results.append((pct, missed, covered, total, cls.get('name')))
results.sort()
print(f\"{'Coverage':>10} {'Missed':>8} {'Covered':>8} {'Total':>8} Class\")
print('-' * 80)
for pct, missed, covered, total, name in results:
print(f'{pct:>9.1f}% {missed:>8} {covered:>8} {total:>8} {name}')
"
If $ARGUMENTS is a class name, find uncovered lines:
python3 -c "
import xml.etree.ElementTree as ET
module = 'spring-boot-config-json-schema-starter'
tree = ET.parse(f'{module}/target/site/jacoco/jacoco.xml')
root = tree.getroot()
CLASS_NAME = '$ARGUMENTS.java'
for pkg in root.findall('.//package'):
for sf in pkg.findall('sourcefile'):
if sf.get('name') == CLASS_NAME:
uncovered = []
for line in sf.findall('line'):
mi = int(line.get('mi', 0))
if mi > 0:
uncovered.append(int(line.get('nr')))
print(f'Uncovered lines in {CLASS_NAME}: {len(uncovered)} lines')
for ln in uncovered:
print(f' Line {ln}')
"
When coverage is below 80%:
@ParameterizedTest to efficiently cover multiple code paths